如何在.net环境下,用C#编程语言建立与SQLServer数据库的连接并且从中获取数据恐怕是刚接触C#的人们遇到的问题了,这个问题其实很简单,但是网络上各种东拼西凑的文章让人眼花缭乱。自己从事软件开发几乎五年了,但是没写过博客,只是一味地在看博客,自己的表达能力不太好,希望我的第一篇博客能帮到用到的人。如果感觉文章写的不好,可以mail给我,我竭尽所能帮到大家吧。anfeng035188@126.com


1.建立连接字符串:

连接字符串最好定义在web.config配置文件当中,这样项目一旦上线或者数据库变更,只要修改一下配置文件就可以了,不管是运维人员还是开发人员都不用修改代码里面的东西了。配置文件中的定义方式如下:

 <add name="MGMTDBSetting" connectionString="server=labqa2-rpt1;database=ManagementReport;uid=sa;pwd=11111111" providerName="System.Data.SqlClient" />


其中,MGMTDBSetting为一个名称,自己也可以随便修改,只是一个名称而已。connectionString里面分别是:服务器名称、数据库名称、用户名、密码。 providerName="System.Data.SqlClient" 照搬即可。

2.建立数据库连接

首先在建类的文件中引入类库;

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


写一个函数,该函数的功能就是从数据库中获取数据




public string GetDataFromDB()
        {
             string dateString = "";
             string setting = "MGMTDBSetting";//名称和配置文件中的名称一致
            var connString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings[setting];//取出的数据就是配置文件中节点MGMTDBSetting的connectionString内容;
             string sqlstr = "select*from A";//该字符串为SQL语句,A为建立的数据表名
            if (connString != null)
             {
                 using (SqlConnection conn = new SqlConnection(connString.ConnectionString))
                 {
                     conn.Open();
                     SqlCommand cmd = new SqlCommand(sqlstr, conn);
                     SqlDataReader reader = cmd.ExecuteReader();


                     while (reader.Read())
                     {
                                       
                         dateString = reader[0].ToString();
                     }
                     reader.Close();
                     cmd.Dispose();
                     conn.Close();//关闭连接 
                 }
             }
             return dateString;
         

        }

写到这里,基本简单的SQL语句模式就OK了。当然大家开始使用的时候会让这个函数越来越复杂,函数可以引入各种参数,返回值也往往有list,object等复杂的数据结构。不过架子有了,对于初学者就有了模板,只要慢慢丰富就可以了。另外我还想补充一个例子,如果数据库里我们用的SP而不是SQL语句呢。





public string GetDataFromDB()
        {
             string dateString = "";
             string setting = "MGMTDBSetting";//名称和配置文件中的名称一致
            var connString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings[setting];//取出的数据就是配置文件中节点MGMTDBSetting的connectionString内容;
             string spname = "";//存储过程的名字
            if (connString != null)
             {
                 using (SqlConnection conn = new SqlConnection(connString.ConnectionString))
                 {
                      
                        conn.Open();
                        SqlCommand cmd = null;
                    
                         spname = "ABC";//存储过程的名字
                        cmd = new SqlCommand(spname, conn); 

                         cmd.CommandType = CommandType.StoredProcedure;


                         cmd.Parameters.Add("@Role", SqlDbType.VarChar).Value = “Guest”;     //SP的参数,无需理解含义
                        cmd.Parameters.Add("@StartDate", SqlDbType.DateTime).Value = “2016-03-03”
                      

                         SqlDataReader reader = cmd.ExecuteReader();
                     while (reader.Read())
                     {
                                       
                         dateString = reader[0].ToString();
                     }
                     reader.Close();
                     cmd.Dispose();
                     conn.Close();//关闭连接 
                 }
             }
             return dateString;
         


        }


vs2010连接sql2000的字符串

[webAPI keyWord(?=email) => manger_email]
 "ConnectionString" value="Data Source=127.0.0.1;Initial Catalog=数据库名;User ID=sa;Password=xxx"