要与SQL Server连接,必须将SQL Server安装在系统中。现在使用Microsoft SQL Server管理工具来连接SQL Server。可以使用这个工具来处理数据库。现在,按照以下步骤连接SQL Server。
第1步:打开Microsoft SQL Server管理工具,它会提示进行数据库连接,提供服务器名称和身份验证。如下所示 -
连接成功后,显示如下窗口。如下所示 -
第2步:创建数据库
现在,通过选择数据库选项创建数据库,然后右键单击它。 它弹出一个选项菜单,并提供了几个选项。
点击新建数据库,然后它要求填写要创建数据库名称。 在这里,我们创建了一个名称为:student 的数据库。如下图所示 -
点击确定(Ok)按钮,它会创建一个数据库,可以在下面的截图中的左侧窗口看到如下所示。
第3步:建立连接并创建一个表
现在创建数据库之后,使用下面的C#
代码创建一个表。在这个源代码中,使用创建的学生数据库进行连接。
在Visual Studio 2017中,我们创建了一个包含以下C#
代码的.NET控制台应用程序项目(名称:AdoNetConsoleApplication) -
参考以下实现代码(Programe.cs) -
using System; using System.Data.SqlClient; namespace Programe { class Program { static void Main(string[] args) { new Program().CreateTable(); } public void CreateTable() { SqlConnection con = null; try { // Creating Connection con = new SqlConnection("data source=.; database=student; integrated security=SSPI"); // writing sql query SqlCommand cm = new SqlCommand("create table student_info(id int not null,name varchar(100), email varchar(50), join_date date)", con); // Opening Connection con.Open(); // Executing the SQL query cm.ExecuteNonQuery(); // Displaying a message Console.WriteLine("Table created Successfully"); } catch (Exception e) { Console.WriteLine("OOPs, something went wrong." + e); } // Closing the connection finally { con.Close(); } } } }
使用Ctrl + F5 执行此代码。执行完成后,它将显示一条消息给控制台,如下所示 -
也可以在Microsoft SQL Server Management Studio中看到创建的表。如下所示所示创建成功的表:student_info。
可以看到,在这里有一张表:student_info。但此时,这张表是空的,所以需要插入一些数据。
第4步: 将数据插入到表中,参考以下实现代码(AdoNetInsert.cs) -
using System; using System.Data.SqlClient; namespace AdoNetConsoleApplication { class AdoNetInsert { static void Main(string[] args) { new AdoNetInsert().InsertTable(); } public void InsertTable() { SqlConnection con = null; try { // Creating Connection con = new SqlConnection("data source=.; database=student; integrated security=SSPI"); // writing sql query String sql = "insert into student_info(id, name, email, join_date)values('101', 'Hiniu Su', 'hinew.su@example.com', '2017-11-18')"; SqlCommand cm = new SqlCommand(sql, con); // Opening Connection con.Open(); // Executing the SQL query cm.ExecuteNonQuery(); // Displaying a message Console.WriteLine("插入数据记录成功~!"); } catch (Exception e) { Console.WriteLine("OOPs, something went wrong." + e); } // Closing the connection finally { con.Close(); } } } }
使用Ctrl + F5 执行此代码。 执行完成后,它将显示一条消息给控制台,如下所示 -
第5步:查询/检索记录
在这里,将查询/检索上一步中插入的数据。参考下面的C#
实现代码(AdoNetSelect.cs)-
using System; using System.Data.SqlClient; namespace AdoNetConsoleApplication { class AdoNetSelect { static void Main(string[] args) { new AdoNetSelect().SelectTable(); } public void SelectTable() { SqlConnection con = null; try { // Creating Connection con = new SqlConnection("data source=.; database=student; integrated security=SSPI"); // writing sql query SqlCommand cm = new SqlCommand("SELECT * FROM student_info", con); // Opening Connection con.Open(); // Executing the SQL query SqlDataReader sdr = cm.ExecuteReader(); Console.WriteLine("当前 student_info 表中的记录为:" ); // Iterating Data while (sdr.Read()) { Console.WriteLine(sdr["id"] + " " + sdr["name"] + " " + sdr["email"]); // Displaying Record } } catch (Exception e) { Console.WriteLine("OOPs, something went wrong.\n" + e); } // Closing the connection finally { con.Close(); } } } }
通过Ctrl + F5 执行此代码,它将产生以下结果。这显示两条记录,一条是手动插入的数据记录。输出结果如下图所示:
第6步: 删除记录
经过前面5步,现在student_info表中有两个记录。以下C#
代码从表中删除一行。参考代码 (AdoNetDelete.cs)-
using System; using System.Collections.Generic; using System; using System.Data.SqlClient; namespace AdoNetConsoleApplication { class AdoNetDelete { static void Main(string[] args) { new AdoNetDelete().DeleteFromTable(); } public void DeleteFromTable() { SqlConnection con = null; try { // Creating Connection con = new SqlConnection("data source=.; database=student; integrated security=SSPI"); // writing sql query SqlCommand cm = new SqlCommand("delete from student_info where id = '101'", con); // Opening Connection con.Open(); // Executing the SQL query cm.ExecuteNonQuery(); Console.WriteLine("已经成功地删除了编号为:101 的学生数据信息~!"); // 重新查询数据库中的记录信息 SqlCommand cm2 = new SqlCommand("SELECT * FROM student_info", con); // Executing the SQL query SqlDataReader sdr = cm2.ExecuteReader(); Console.WriteLine("当前 student_info 表中的记录为:"); // Iterating Data while (sdr.Read()) { Console.WriteLine(sdr["id"] + " " + sdr["name"] + " " + sdr["email"]); // Displaying Record } } catch (Exception e) { Console.WriteLine("OOPs, something went wrong.\n" + e); } // Closing the connection finally { con.Close(); } } } }
通过Ctrl + F5 执行此代码,它将产生以下结果(ID是111
的这一条已经被删除了,这里只显示编号为102
的记录信息)。