zoukankan      html  css  js  c++  java
  • web.config配置数据库连接+Ado.net对象操作sql数据库

    第一种:
    取连接字符串

    string connString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["SqlConnStr"].ConnectionString;
    或者
    protected static string connectionString = ConfigurationManager.ConnectionStrings["SqlConnStr"].ConnectionString; 
    web.config文件:加在</configSections>后面
       <connectionStrings>
        
    <remove name="LocalSqlServer" />
        
    <add name="SqlConnStr" connectionString="user id=xx;password=xx;initial catalog=database_name;data source=.\sqlxxxx" />
      
    </connectionStrings>
    第二种:
    取连接字符串:
    string myvar=configurationsettings.appsettings["connstring"]; 
    web.config文件:加在<appsettings>和</appsettings> 之间
    <appsettings> 
        
    <add key="connstring" value="uid=xx;pwd=xx;database=batabase_name;server=(local)" />
     
    </appsettings>

    据说两者通用,但是第二种是asp.net2.0的新特性,建议使用第二种。
    其实我一直有个疑问,两个字符串中的UID;PWD;和User ID; Password;是否等价。
    根据网上我查到的资料是可以互换通用的。


    网上找到了个貌似更详细的解释:

    连接SQL Server数据库的机制与连接Access的机制没有什么太大的区别,只是改变了Connection对象和连接字符串中的不同参数.

    首先,连接SQL Server使用的命名空间不是"System.Data.OleDb",而是"System.Data.SqlClient".

    其次就是他的连接字符串了,我们一个一个参数来介绍(注意:参数间用分号分隔):
      "user id=sa":连接数据库的验证用户名为sa.他还有一个别名"uid",所以这句我们还可以写成"uid=sa".
      "password=":连接数据库的验证密码为空.他的别名为"pwd",所以我们可以写为"pwd=".
      这里注意,你的SQL Server必须已经设置了需要用户名和密码来登录,否则不能用这样的方式来登录.如果你的SQL Server设置为Windows登录,那么在这里就不需要使用"user id"和"password"这样的方式来登录,而需要使用"Trusted_Connection=SSPI"来进行登录.
      "initial catalog=Northwind":使用的数据源为"Northwind"这个数据库.他的别名为"Database",本句可以写成"Database=Northwind".
      "Server=YourSQLServer":使用名为"YourSQLServer"的服务器.他的别名为"Data Source","Address","Addr".如果使用的是本地数据库且定义了实例名,则可以写为"Server=(local)\实例名";如果是远程服务器,则将"(local)"替换为远程服务器的名称或IP地址.
      "Connect Timeout=30":连接超时时间为30秒.

     在这里,建立连接对象用的构造函数为:SqlConnection.

    ——————————————————————————————

    下面是ADO.NET对象操作数据库代码

    public static class DBHELP
        {
            public static string connectionString = ConfigurationManager.ConnectionStrings["con"].ConnectionString;
            
            /// <summary>   
            /// 修改  
            /// </summary>   
            public static bool DataUpdate(Vote vote)
            {
                int res = -1;
                //  string sqlCon = @"server =.;database=strike;Integrated Security=True";   
                SqlConnection conn = new SqlConnection();
                conn.ConnectionString = connectionString;
                string sqlStr = "update vote set ipaddress='"+vote.IPaddress+"' where id="+vote.ID;
                SqlCommand cmd = new SqlCommand(sqlStr, conn);
                conn.Open();
                res = cmd.ExecuteNonQuery();
                conn.Close();
                if (res > 0)
                {
                    return true;
                }
                return false;
            } 
            /// <summary>   
            /// 添加   
            /// </summary>   
            public static void AddRecord()
            {
                int res = -1;
                //string sqlCon = "server =.;database=strike;Integrated Security=True";   
                SqlConnection conn = new SqlConnection();
                conn.ConnectionString = connectionString;
                string b_title = "";
                string b_content = "";
                string b_author = "";
                string addtime = "2011-11-11";
                int b_cid = 102;
                string sqlStr2 = string.Format("insert book(b_cid,b_title,b_content,b_author,b_isdel,b_addtile,b_money) values({0},'{1}','{2}','{3}',0,'{4}',10)", b_cid, b_title, b_content, b_author, addtime);
                string sqlStr = "insert book(b_cid,b_title,b_content,b_author,b_isdel,b_addtile,b_money) values(103,'dsf','dfdf','dfd',0,'2011-11-11',10)";
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conn;
                cmd.CommandText = sqlStr2;
                conn.Open();
                res = cmd.ExecuteNonQuery();
                conn.Close();
                if (res > 0)
                {
                    Console.WriteLine("受影响" + res);
                }
            }
            /// <summary>   
            /// 删除数据   
            /// </summary>   
            public static void DelRecord()
            {
                int res = -1;
                //string sqlCon = "server =.;database=strike;Integrated Security=True";   
                SqlConnection conn = new SqlConnection();
                conn.ConnectionString = connectionString;
                string sqlStr = "delete book where b_id=18";
                SqlCommand cmd = new SqlCommand(sqlStr, conn);
                conn.Open();
                res = cmd.ExecuteNonQuery();
                conn.Close();
                if (res > 0)
                {
                    Console.WriteLine(res + "行受影响");
                }
            }
            /// <summary>   
            /// 查询多行数据---DataReader逐行读取,每次读一行   
            /// </summary>   
            public static List<Vote> QueryList(int pagesize, int pageindex)
            {
    
                SqlConnection con = new SqlConnection(connectionString);
                string sqlStr = "select top " + pagesize+" ID,IP from vote where ID not in (select top " + pagesize * (pageindex - 1) + " id from vote)";
                SqlCommand cmd = new SqlCommand(sqlStr, con);
                con.Open();
                SqlDataReader dr = cmd.ExecuteReader();
                List<Vote> votes = new List<Vote>();
                if (dr.HasRows)
                {
                    while (dr.Read())//dr每read()一次就读取一行   
                    {
                        Vote v = new Vote();
                        v.ID = Convert.ToInt32(dr["id"]);
                        v.IP = dr["ip"].ToString();
                        votes.Add(v);
                    }
                    return votes;
                    // Console.WriteLine("有数据");   
                }
                else
                {
                    Console.WriteLine("无数据");
                }
                return null;
            }
            /// <summary>
            /// 用ExecuteScalar()方法  ,返回单个值(Object)(查询结果第一行第一列的值)
    
            /// </summary>
            public static void QuerySingle()
            {
                SqlConnection conn = new SqlConnection(connectionString);
                string sqlStr = "select * from book";
                SqlCommand cmd = new SqlCommand(sqlStr, conn);
                conn.Open();
    
                //返回的是查询结果集第一单元格的值,返回的是object类型   
                object obj = cmd.ExecuteScalar();
                conn.Close();
                Console.WriteLine(obj.ToString());
            }
            /// <summary>
            /// 调用存储过程
            /// </summary>
            public static void QueryListByProc2()
            {
                string sqlCon = "server=.;database=strike;Integrated Security=True;";
                SqlConnection conn = new SqlConnection(sqlCon);
                SqlCommand cmd = new SqlCommand("uspo_GetPageBooks", conn);
                cmd.CommandType = CommandType.StoredProcedure;
                SqlParameter[] paras ={  
                                  new SqlParameter("@pageIndex",SqlDbType.Int,4),  
                                  new SqlParameter("@pageSize",SqlDbType.Int,4)  
                               };
                paras[0].Value = 1;
                paras[1].Value = 3;
                cmd.Parameters.AddRange(paras);
    
                //有适配器读取数据   
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                da.Fill(dt);
    
                foreach (DataRow dr in dt.Rows)
                {
                    Console.WriteLine(dr[0].ToString() + "__" + dr[1].ToString() + "__" + dr[2].ToString());
                }
            }
            /// <summary>
            /// 使用适配器读取数据
            /// </summary>
            public static void QueryListByAdapter()
            {
                SqlConnection conn = new SqlConnection(connectionString);
    
                string sqlStr = "select * from book";
                //创建适配器对象,高数它要做些什么事情,走哪条路去   
                SqlDataAdapter da = new SqlDataAdapter(sqlStr, conn);
                // SqlDataAdapter da = new SqlDataAdapter();   
    
                //创建数据集对象(程序的临时数据库)   
                DataSet ds = new DataSet();
    
                DataTable dt1 = new DataTable();
                //调用fill方法,填充数据集。   
                da.Fill(dt1);
                da.Fill(ds);
    
                //获得数据集的第一张表   
                DataTable dt = ds.Tables[0];
    
                //循环数据表的每一行   
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    DataRow dr = dt.Rows[i];//每一行付给dr   
                    Console.WriteLine(dr[0].ToString() + "___" + dr["b_title"].ToString());
                }
            }  
        }
  • 相关阅读:
    10 个深恶痛绝的 Java 异常。。
    为什么公司宁愿 25K 重新招人,也不给你加到 20K?原因太现实……
    推荐一款代码神器,代码量至少省一半!
    Spring Cloud Greenwich 正式发布,Hystrix 即将寿终正寝。。
    hdu 3853 LOOPS(概率 dp 期望)
    hdu 5245 Joyful(期望的计算,好题)
    hdu 4336 Card Collector(期望 dp 状态压缩)
    hdu 4405 Aeroplane chess(概率+dp)
    hdu 5036 Explosion(概率期望+bitset)
    hdu 5033 Building (单调栈 或 暴力枚举 )
  • 原文地址:https://www.cnblogs.com/zwnet/p/2663431.html
Copyright © 2011-2022 走看看