要与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
的记录信息)。