C# se connecte à la base de données SqlServer

Table des matières

1. Créer un tableau

2. Ajouter des données au tableau

3. Créez un nouveau projet C#

四、SqlServerHelper

5. Connectez-vous à la base de données


1. Créer un tableau

Tout d'abord, créez une nouvelle base de données Test, puis créez une nouvelle table Users. Les noms des champs sont comme indiqué dans la figure ci-dessous. Parce que ce n'est qu'un test pour le moment, vous n'avez donc pas besoin de trop de noms de colonnes. I Je ne présenterai pas trop d'informations sur l'installation de SQL Server et des outils de gestion de SQL Server ici. Vous pouvez vous référer aux messages ci-dessous :

Tutoriel d'installation de SQL Server 2019_Blog de Xiong Siyu - Blog CSDN_Tutoriel d'installation de la base de données 2019

Le nom du champ est comme indiqué ci-dessous

Clic droit de la souris, définir la clé primaire

Lorsqu'une icône en forme de clé apparaît à côté de l'ID, le réglage est réussi.

Appuyez sur Ctrl + S pour enregistrer, puis remplissez le nom de la table,

 Actualisez la base de données, vous pouvez voir la table que vous venez de créer sous la table

 

2. Ajouter des données au tableau

Ici, je n'utilise pas d'instructions SQL, j'utilise simplement l'éditeur pour opérer directement, il suffit d'ajouter quelques colonnes de données à volonté.

Cliquez avec le bouton droit sur la table Utilisateur et sélectionnez Modifier les 200 premières lignes.

 Cliquez ici pour ajouter quelques données

 

 Ensuite, ajoutez des données à la table à ce moment-là est terminée

3. Créez un nouveau projet C#

Créons ici un nouveau projet WPF. Il n'y a qu'un seul bouton dans l'interface, et rien d'autre.

Code d'interface :

<Window x:Class="Lathe.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:Lathe"
        mc:Ignorable="d" WindowStartupLocation ="CenterScreen"
        Title="MainWindow" Height="450" Width="800" Loaded="Window_Loaded">
    <Grid>
        <Button Content="连接数据库" Width="100" Height="30" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="32,39,0,0" Click="ConnectDatabase_OnClick" />
    </Grid>
</Window>

Logique d'interface :

using Lathe.SqlServer;
using System;
using System.Data;
using System.Windows;

namespace Lathe
{
    /// <summary>
    /// MainWindow.xaml 的交互逻辑
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {

        }

        //连接数据库 点击事件
        public void ConnectDatabase_OnClick(object sender, RoutedEventArgs e)
        {

        }
    }
}

 

四、SqlServerHelper

Ajouter une classe SqlServerHelper

code:

using System.Data;
using System.Data.SqlClient;

namespace Lathe.SqlServer
{
    internal class SqlServerHelper
    {
        /// <summary>
        /// 连接字符串
        /// </summary>
        private string strconn = string.Empty;

        public SqlServerHelper(string conn)
        {
            //读取配置文件
            //strconn = ConfigurationManager.AppSettings["Conn"].ToString();
            //strconn = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
            strconn = conn;
        }

        /// <summary>
        /// 执行增删改SQL语句
        /// </summary>
        /// <param name="cmdText">SQL语句</param>
        /// <returns></returns>
        public int ExecuteNonQuery(string cmdText)
        {
            using (SqlConnection conn = new SqlConnection(strconn))
            {
                conn.Open();
                return ExecuteNonQuery(conn, cmdText);
            }
        }

        /// <summary>
        /// 执行增删改SQL语句
        /// </summary>
        /// <param name="conn">SqlConnection</param>
        /// <param name="cmdText">SQL语句<</param>
        /// <returns></returns>
        public int ExecuteNonQuery(SqlConnection conn, string cmdText)
        {
            int res;
            using (SqlCommand cmd = new SqlCommand(cmdText, conn))
            {
                cmd.CommandType = CommandType.Text;
                res = cmd.ExecuteNonQuery();
                if (conn.State == ConnectionState.Open)
                {
                    conn.Close();
                    conn.Dispose();
                }
            }
            return res;
        }

        /// <summary>
        /// 执行查询SQL语句
        /// </summary>
        /// <param name="cmdText">SQL语句</param>
        /// <returns></returns>
        public DataTable ExecuteDataTable(string cmdText)
        {
            using (SqlConnection conn = new SqlConnection(strconn))
            {
                conn.Open();
                return ExecuteDataTable(conn, cmdText);
            }
        }

        /// <summary>
        /// 执行查询SQL语句
        /// </summary>
        /// <param name="conn">SqlConnection</param>
        /// <param name="cmdText">SQL语句</param>
        /// <returns></returns>
        private DataTable ExecuteDataTable(SqlConnection conn, string cmdText)
        {
            DataTable dt = new DataTable();
            using (SqlCommand cmd = new SqlCommand(cmdText, conn))
            {
                cmd.CommandType = CommandType.Text;
                using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
                {
                    sda.Fill(dt);
                    if (conn.State == ConnectionState.Open)
                    {
                        conn.Close();
                        conn.Dispose();
                    }
                }
            }
            return dt;
        }

        /// <summary>
        /// 执行查询SQL语句
        /// </summary>
        /// <param name="cmdText">SQL语句</param>
        /// <returns></returns>
        public DataTable ExecuteQuery(string cmdText)
        {
            using (SqlConnection conn = new SqlConnection(strconn))
            {
                conn.Open();
                return ExecuteQuery(conn, cmdText);
            }
        }

        /// <summary>
        /// 执行查询SQL语句
        /// </summary>
        /// <param name="conn">SqlConnection</param>
        /// <param name="cmdText">SQL语句</param>
        /// <returns></returns>
        public DataTable ExecuteQuery(SqlConnection conn, string cmdText)
        {
            DataTable dt = new DataTable();
            using (SqlCommand cmd = new SqlCommand(cmdText, conn))
            {
                using (SqlDataReader sdr = cmd.ExecuteReader())
                {
                    dt.Load(sdr);
                    sdr.Close();
                    sdr.Dispose();
                    if (conn.State == ConnectionState.Open)
                    {
                        conn.Close();
                        conn.Dispose();
                    }
                }
            }
            return dt;
        }

    }
}

5. Connectez-vous à la base de données

Modifier le code logique de l'interface

using Lathe.SqlServer;
using System;
using System.Data;
using System.Windows;

namespace Lathe
{
    /// <summary>
    /// MainWindow.xaml 的交互逻辑
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private SqlServerHelper SqlServerHelpers;

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            string conn = "server=.;dataBase=Test;uid=sa;pwd=123456";
            SqlServerHelpers = new SqlServerHelper(conn);
        }

        //连接数据库 点击事件
        public void ConnectDatabase_OnClick(object sender, RoutedEventArgs e)
        {
            string sql = "SELECT Names FROM Users";
            DataTable dataTable = SqlServerHelpers.ExecuteQuery(sql);
            if(dataTable != null)
            {
                //打印所有列名
                string columnName = string.Empty;
                for (int i = 0; i < dataTable.Columns.Count; i++)
                {
                    //columnName += dataTable.Columns[i].ColumnName + " | ";
                    columnName += string.Format("{0}({1}) | ", dataTable.Columns[i].ColumnName, i);
                }
                Console.WriteLine(columnName);
                Console.WriteLine("======================");

                //打印每一行的数据
                foreach (DataRow row in dataTable.Rows)
                {
                    string columnStr = string.Empty;
                    foreach (DataColumn column in dataTable.Columns)
                    {
                        columnStr += row[column] + " | ";
                    }
                    Console.WriteLine(columnStr);
                }
            }
        }
    }
}

courir

 De cette manière, les données de la base de données sont obtenues.

 

fin

Je suppose que tu aimes

Origine blog.csdn.net/qq_38693757/article/details/127111382
conseillé
Classement