C#连接数据库SQL(2005)

来源:互联网 发布:疯狂的美工京东 编辑:程序博客网 时间:2024/05/21 17:48

 

总算把这起步的路走了.
首先来总结一下进行数据库编程的全过程,这里用的是SQL SERVER


(1)建立SqlConnection对象以连接数据库
SqlConnection mysqlconnection=new SqlConnection("Server=localhost;
               database=yourdatabase;uid=sa;pwd=sa");

 

(2)建立SqlCommand对象
SqlCommand mysqlcommand=mysqlconnection.CreateCommand();

 

(3)设置SqlCommand对象的CommandText属性
mysqlcommand.CommandText="SELECT * FROM youydatabasetablename";

 

(4)打开SqlConnection对象
mysqlconnection.open();

 

(5)运行SELECT语句
SqlDataReader mysqldatareader=mysqlcommand.ExecuteReader();

本人初学,此处疑惑,还望高手解答:

此处没有SqlDataReader mysqldatareader=new SqlDataReader();而是直接执行,可以吗?

如果没有new创建对象,后面的(8)mysqldatareader.Close(); 需要关闭吗?谢谢高人解答!!!

 

(6)用SqlDataReader对象读行
mysqldatareader.Read();

 

(7)显示SqlDataReader对象中的数值
yourtextbox.Text=mysqldatareader["ID"].ToString();
//ID是你数据库中的一项列名

 

(8)关闭SqlDataReader对象
mysqldatareader.Close();

 

本人初学,此处疑惑,还望高手解答:

需要关闭mysqlcommand吗  即mysqlcommand.Close() 还是因为调用了CreateCommand()方法而不需要关闭吗?

 

(9)关闭SqlConnection对象
mysqlconnection.Close();

 

下面把过程呈现出来.

1、在我的程序中用的是SQL,所以在程序头前加上
     using System.Data.SqlClient;

2、在Form1中加入应有的控件,用于显示数据.

3、申请变量
        static private int m = 1;  //显示每条记录
        static private int k;        //得到记录条数
        SqlCommand mysqlcommand;
        SqlConnection mysqlconnection;

4、连接数据库,注意这里的连接字符串,用的是安全类型.
         try
         {           
                mysqlconnection = new SqlConnection("server=localhost;
                           Integrated Security=True;Database=myfriends");
                mysqlcommand = mysqlconnection.CreateCommand();
                                   //得到记录条数
                mysqlcommand.CommandText = "SELECT COUNT(*) FROM Friends";
                mysqlconnection.Open();
                k = (int)mysqlcommand.ExecuteScalar();

                GetData(1);
            }
            catch (SqlException ex)
            {
                MessageBox.Show("A SqlException was thrown,Number = " + 
                              ex.Number +     //错误号
                              ex.Message +    //错误描述字符串
                              ex.StackTrace); //抛出异常的类名和方法名字符串
            }

5、如果数据库中有多条记录就要逐条显示
     在逐条显示的按钮事件中:
            m += 1;   //下一条索引值
            if (m > k)
            {
                MessageBox.Show("最后一条!将显示第一条记录!", "信息提示");
                m = 1;
            }
            this.hisname.Text = "";   //要显示下条,当然先清空
            this.hissex.Text = "";
            this.hisadress.Text = "";
            this.hisbirthday.Text = "";

            GetData(m);  //显示下第数据

6、在显示数据中用到显示下一条函数;
     private void GetData(int i)
    {
            mysqlcommand.CommandText = "SELECT ID,Name,Sex,"+
                            "birthday,address FROM Friends WHERE ID="+i;
            SqlDataReader mysqldatareader = mysqlcommand.ExecuteReader();
            mysqldatareader.Read();

            this.hisname.Text = mysqldatareader["Name"].ToString();
            this.hissex.Text = mysqldatareader["Sex"].ToString();
            this.hisadress.Text = mysqldatareader["Address"].ToString();
            this.hisbirthday.Text = mysqldatareader["Birthday"].ToString();

            mysqldatareader.Close();
     }

 

 

希望对正阅读的你有所帮助!
也以此鼓励自己不断学习!

作者:Bober Song
出处:http://bober.cnblogs.com/
Javascript之家:http://www.ccscript.cn/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
声明:本帖转自 http://www.cnblogs.com/bober/articles/640740.html
在此对此贴原创者的辛勤劳动成果,致以最诚挚的感谢!
原创粉丝点击