SQL server与C#的连接

主要用到下面两个命名空间

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

用到以下几个类:

//SQL连接对象
private SqlDataAdapter SqlData; //数据适配器
private DataSet Data_Set=new DataSet(); //数据集
private SqlConnection DataConnector; //数据连接
private DataTable TableRuturned; //查询返回的数据表
private DataRow RowofData; //一列数据

 

SqlDataAdapter数据适配器主要用来建立查询并返回数据,DataSet数据集用来在本地保存服务器送来的表单,DataConnector数据连接器维持程序与数据库连接。

1)初始化连接

this.ConnectString = “Data Source=.\SQLEXPRESS;Initial Catalog=Pictures;User ID=sa;Password= ****** “;
this.DataConnector = new SqlConnection(ConnectString);

ConnectString是连接命令字符串,告诉Connector连接数据的方式和用户登陆信息

 

2)一个简单的查询操作:

    try
{
this.OperationString = “select * from Pictures where [Picture Name] =” + “‘” + name;

this.SqlData = new SqlDataAdapter(OperationString, DataConnector);
this.Data_Set.Clear();
SqlData.Fill(Data_Set, “Pictures”);
}
catch (System.Exception ex)
{
{
MessageBox.Show(“无法连接数据库”, “发生错误”);
this.Exit_Click(sender, e);
}
}

这样,服务器返回的查询结果就保存到DataSet里了,

下面这段实现从返回表单里读取一张图片显示到PictureBox里

try
{
TableRuturned = Data_Set.Tables[0];

RowofData = TableRuturned.Rows[0];//取返回表的第一行数据

this.TextInstruction.Text = RowofData[2].ToString().Trim();//取图片文本说明

//显示

byte[] PicInBinary = (byte[])RowofData[3];

MemoryStream PicStream = new MemoryStream(PicInBinary);

this.ShowPic.Image = Image.FromStream(PicStream);

this.SavePic.Visible = true;

this.FileName.Text = RowofData[1].ToString().Trim();
}
catch (System.IndexOutOfRangeException FindEx)
{
{
MessageBox.Show(“找不到此图片”, “发生错误”);
this.TextInstruction.Text = “”;
this.ShowPic.Image = null;
this.SavePic.Visible = false;
this.FileName.Text = “”;

}
}
catch (System.InvalidCastException CastEx)
{
MessageBox.Show(“未加入图片或图片格式错误”, “发生错误”);
this.TextInstruction.Text = “”;
this.ShowPic.Image = null;
this.SavePic.Visible = false;
}

要对数据库进行操作,需使用如下步骤

SqlCommand cmd = new SqlCommand(OperationString, DataConnector);

实例化一个SqlCommand类的对象,这个类主要用来执行对数据库的各种操作

SqlParameter Name = new SqlParameter(“@RealName”, SqlDbType.NVarChar,RealName.Length);
Name.Value = RealName;
cmd.Parameters.Add(Name);

通过上面过程给SqlCommand添加参数。

DataConnector.Open();
int RunStatus = cmd.ExecuteNonQuery();
DataConnector.Close();

顾名思义,执行一个非查询的操作

关于连接字符串:

连接字符串的各式有很多种,参阅下面网址

http://wenku.baidu.com/view/84310008763231126edb11fa.html

end.