为了方面的同数据库打交道,完成各种数据的操作,最好建立一个专门的类--MySQL:
1,建立连接:
using System.Data.SqlClient;
private SqlConnection MyConn;
private string MyConnString="data source=(local); Initial Catalog=MyDB; User ID=sa; Password=;";
public Sqlconnection Open()
{
MyConn=new SqlConnection(MyConnString);
MyConn.Open();
return(MyConn);
}
从Web.config文件中获利数据库连接信息,动态生成连接语句:
SqlConnection MySql=new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
在Web.config文件中有这样一段代码:
[AppSettings]
[add key="ConnectionString" value="data source=(local); Initial Catalog=MyDB; User ID=sa; Password="/]
[/AppSettings]
2,调用存储过程UserLogin:
publish SqlDataReader UserLogin(string UserName,string password)
{
SqlConnection MySql=new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
SqlCommand MyCommand=new SqlCommand("UserLogin",MySql);
MyCommand.CommandType=CommandType.StoreProcedure;
SqlParameter parameterUserName=new SqlParameter("@UserName",SqlDbType.NvarChar,20);
parameterUserName.Value=UserName;
MyCommand.Parameter.Add(parameterUserName);
SqlParameter parameterPassword=new SqlParameter("@Pass",SqlDbType.NvarChar,20);
parameterPassword.Value=password;
MyCommand.Parameter.Add(parameterPassword);
MySql.Open();
SqlDataReader dr=MyCommand.ExecuteReader(CommandBehavior.CloseConnection);
return dr;
}
SqlCommand类的三种命令执行方式:
1,ExecuteNonQuery:对连接执行 Transact-SQL 语句并返回受影响的行数。对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响的行数。对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也为 -1。
2,ExecuteReader:将 CommandText 发送到 Connection 并生成一个 SqlDataReader,以输出执行命令的结果集。当 CommandType 属性设置为 StoredProcedure 时,CommandText 属性应设置为存储过程的名称。当调用 ExecuteReader 时,该命令将执行此存储过程。
3,SqlException:使用 ExecuteScalar 方法从数据库中检索单个值(例如一个聚合值)。返回查询所返回的结果集中第一行的第一列。忽略其他列或行。
※※※※※※※※※※※※※※--我的程序人生--※※※※※※※※※※※※※※