文档库 最新最全的文档下载
当前位置:文档库 › C__连接SQL数据库

C__连接SQL数据库

C# 连接SQL2005数据库

----雷玄

https://www.wendangku.net/doc/bf2000249.html,

学会数据库连接,再会点C# 就可以打打酱酒----某人说的要想上手快,思路最重要:

数据库,应用程序,他们是两个不同的对象。现在我们要他们能够进行相互交换数据,需在在他们两之间建立一条通道。

至于这条通道是怎么建立的下面有介绍。

第一步,要确定数据库那边连接正常:

1.服务是否开启:

运行DOS 窗口:net start mssqlserver

如果弹出这些警告信息

你可以到这两个地方看看:服务器属性和用户属性

先右击属性。

然后把SQL和windows身份验证模式选上。

先右击属性。

看下登录属性是否被禁用,把启用选上。

可能还有一些其他问题,(在DOS窗口下:

sqlservermanager.msc),看看这里的服务是否启用

第二步:

/首先,定义连接字符串。

然后,数据库进行连接。

接着,打开数据库。

然后,执行SQL语句。

最后,记得关闭数据库。

在VS2010 编写相应的代码(using System.Data.SqlClient;//引用这个命名空间)

//定义连接字符串server=服务器名(.代表本地服务器)

string sqlcon = "Server=.;Database=myd;Uid=sa;Pwd=s";

//定义查询语句

string sqlquery = "select * from Soccer";

//用SqlConnection这个对象与数据库进行连接

SqlConnection con = new SqlConnection(sqlcon);

try

{

con.Open();//数据库连接之后,打开。

MessageBox.Show("数据库连接成功!");//看数据库是否连

接成功

}

catch(Exception ex)

{

MessageBox.Show(ex.Message);

}

finally

{

con.Close();//必须关闭

}

测试成功

数据库简单的增删改查:

1>S elect (在窗体中添加dataGridView1 这个控件)

a. 查询整个表,并把表里的数据放在dataGridView1 里,代码如下:

private void Form1_Load(object sender, EventArgs e)

{

string sqlcon = "Server=.;Database=MySchool;Uid=sa;Pwd=sa "

;

string sqlquery = "select * from Student";

DataSet ds = new DataSet();//创建一个数据集,把查询到的数据放在ds里

SqlConnection con = new SqlConnection(sqlcon);

try

{

con.Open();

SqlDataAdapter sda = new SqlDataAdapter(sqlquery, con);//用sqlDataAdapter 这个对象去与数据库(con)建立一个通道,在这个通道里执行sqlquery这条语句。

sda.Fill(ds);//把查询结果填充在ds里

//将获得数据源赋予数据库控件t

dataGridView1.DataSource = ds.Tables[0];// ds里的第一个表赋给dataGridView1.DataSource

}

catch(Exception ex)

{

MessageBox.Show(ex.Message);

}

finally

{

con.Close();

}

}

测试成功:

b.查询指定列(通过textbox1 里的值,作为条件,进行查询) private void button1_Click_1(object sender, EventArgs e)

{

string sqlcon = "Server=.;Database=MySchool;Uid=sa;Pwd=s";

string sqlquery = string.Format("select LoginId,Sex,Major from Student where StudentId={0}",textBox1.Text);//格式化字符串

SqlConnection con = new SqlConnection(sqlcon);

try

{

con.Open();

// SqlCommand new出来的对象,可以执行sql语句

SqlCommand com = new SqlCommand(sqlquery,con);

//sqlDataReader 用来读取数据。 com.ExecuteReader()他的返回值是sqlDataReader,在这里不用new

SqlDataReader dataReader= com.ExecuteReader();

//用循环读取数据

while(dataReader.Read())

{

label2.Text = dataReader[0].ToString() + "--" + dataReader[1].ToString() + "--" + dataReader[2].ToString();

}

catch (Exception ex)

{

MessageBox.Show(ex.Message);

}

finally

{

con.Close();

}

}

测试成功

C.插入数据

string sqlcon = "Server=.;Database=MySchool;Uid=sa;Pwd=s";

string sqlInsert = string.Format("insert into dbo.Admin(LoginId,LoginPwd) values('{0}','{1}')", textBox1.Text, textBox2.Text);

SqlConnection con = new SqlConnection(sqlcon);

try

{

con.Open();

SqlCommand com = new SqlCommand(sqlInsert, con);

//用ExecuteNonQuery()这个方法返回数据。

com.ExecuteNonQuery();

MessageBox.Show("添?¨a加¨?成¨|功|");

}

catch (Exception ex)

{

MessageBox.Show(ex.Message);

}

finally

{

con.Close();

}

测试成功:

d.改,删的用法是一样的,这里就不多做说明。

相关文档