ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 在C#中对sql server 2005中的数据库进行简单操作

在C#中对sql server 2005中的数据库进行简单操作

原创 Linux操作系统 作者:lcx_315 时间:2008-05-25 11:14:31 0 删除 编辑

C#中对sql server 2005中的数据库进行简单操作

 

初学C#,sql数据库这方面还一无所知,今天在网上折腾了一晚,没找到几个可以看的简单明了的sql数据库基本操作的教程.都折腾一晚了,把学到的一点东西整理了一下,希望对你有用.

 

对数据库进行操作的三个对象:

对象名

作用

SqlConnection

连接到数据库(数据库连接者)

SqlCommand

对数据库执行sql语句(SQL执行者)

SqlDataReader

读取数据表中的数据(数据读取者)

以上三个对象都存在于命名空间System.Data.SqlClient.

 

一、连接数据库

连接数据库的先决条件:

1.      要创建数据库连接对象
格式如下:
 SqlConnection 对象名 = new SqlConnection();

2.      要赋予数据库连接对象的sql数据库连接语句
例如:
“Data Source=(local);Initial Catalog=school;user id=sa;pwd=”
Data Source为服务器实例名
 Initial Catalog为数据库名
 user id为数据库用户名
 pwd为数据库密码

下面是完整的创建数据库连接的语句

SqlConnection conn = new SqlConnection(“Data Source=(local);Initial Catalog=school;user id=sa;pwd=”);

 

二、打开数据库

数据库连接成功以后就要打开数据库,打开数据库我们需要用到刚才创建的数据库连接对象conn的open方法.

:conn.open();

需要注意的是conn.open();并无返回值,但是我们有必要判断一下是否与数据库连接成功,怎么办呢?在这里我们就需要用一个try…catch语句获得数据库是否连接成功.

 

三、执行sql语句

要执行sql语句就得有执行者,这个执行者就是SqlCommand.首先,我们要创建一个SqlCommand对象,创建对象的语句格式如下:

SqlCommand 对象名 = new SqlCommand("SQL语句", 数据库连接者);

例如: SqlCommand cmd = new SqlCommand("select * from student",conn);

创建好对象以后就需要它执行相应的SQL语句,这需要用到SqlCommand的几个方法:

ExecuteNonQuery

已重写。 对连接执行 Transact-SQL 语句并返回受影响的行数。

ExecuteReader

已重载。 将 CommandText 发送到 Connection 并生成一个 SqlDataReader。

这两个方法都有个共同的属性: CommandText,我们要做的就是将需要执行的语句赋值给它,或者像上面的例子那样,在创建SqlCommand对象的时候就在SqlCommand的构造函数中填入参数.

当语句执行后都会有个返回值返回,此时我们就需要用SqlDataReader对象获得(保存)返回值.

例如:

SqlDataReader rad;

rad = cmd.ExecuteReader();

 

四、读出数据

当执行了rad = cmd.ExecuteReader();操作后,我们需要查询的数据已经存入rad中(这些数据是SqlCommand对象送入SqlDataReader对象中的),此时我们要用SqlDataReader对象的Read()方法进行读取数据操作(让SqlDataReader对象SqlCommand对象送入的数据中读取出来).

数据读取到内存以后,我们只需要用SqlDataReader对象的下标就能将数据按照列号读出了.

例如:

 

while (rad.Read())

            {

                //向文本框中加入表中第一列的所有数据

                textBox1.AppendText(rad[0].ToString()+”\n”);

            }

SqlDataReader默认的指针是指向数据表的第一条记录之前的,每执行一次Read()方法,指针就会下移一次,形象的说也就是每执行一次Read()方法,程序会自动读取表中的下一条记录,该方法会返回一个bool型得值,当指针位置没有到数据表的最后的时候,这个值一直为true.

总结:
            SqlConnection conn = new SqlConnection("Data Source=(local);Initial Catalog=数据库名;user id=用户名;pwd=密码 ");

            conn.Open();//连接  

 

            SqlCommand cmd = new SqlCommand("update.....", 数据库连接对象);

            cmd.ExecuteNonQuery();//更新数据

 

            SqlCommand cmd = new SqlCommand("delete.....", 数据库连接对象);

            cmd.ExecuteNonQuery();//删除数据

 

           SqlDataReader rad;

           rad = cmd.ExecuteReader();

            while (rad.Read())

            {

                textBox1.AppendText(rad[0].ToString());

            }

 

 

 

 

无所谓

http://www.wdrabbit.cn

2007年10月20日星期六

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/347876/viewspace-310176/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 答疑
请登录后发表评论 登录
全部评论

注册时间:2008-02-18

  • 博文量
    9
  • 访问量
    7187