使用ADO.NET对象
总体上,操作SQL Server的程序和操作Access的程序方法一致。只需要做3个地方的修改,就可以把操作Access数据库的程序改成操作SQL Server的程序。
(1)修改引入的命名空间。操作Access数据库使用的是“System.Data.OleDb”,改成“System.Data.SqlClient”。
(2)修改ADO.NET的对象。分别把OleDbConnection、OleDbCommand、OleDbDataReader和OleDbDataAdapter等对象修改成SqlConnection、SqlCommand、SqlDataReader和SqlDataAdapter等对象。
(3)修改Connection对象的数据库连接串。操作Access数据库一般用:
“"Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath("person.mdb");”
修改为SQL Server连接串:“"server=localhost;database=pubs;uid=sa;pwd=''"”。
调用SQL Server的存储过程
= new SqlConnection("server=localhost;database=pubs;uid=sa;pwd=''");
SqlCommand Comm = new SqlCommand("testProc",);
// 将命令类型设为存储过程
Comm.CommandType=CommandType.StoredProcedure;
Conn.Open();
SqlDataReader dr = Comm.ExecuteReader();
dg.DataSource = dr;
dg.DataBind();
Conn.Close();
}
调用存储过程的输入和输出参数
= new SqlConnection("server=localhost;database=pubs;uid=sa;pwd=''");
SqlCommand Comm = new SqlCommand("sp_CheckPass",);
// 将命令类型设为存储过程
Comm.CommandType=CommandType.StoredProcedure;
// 添加并给参数赋值
SqlParameter Parm = Comm.Parameters.Add("@CHKName", SqlDbType.VarChar, 12);
Parm.Value = "aa";
Parm = Comm.Parameters.Add("@CHKPass", SqlDbType.VarChar, 12);
Parm.Value = "aa";
Parm = Comm.Parameters.Add("@ISValid", SqlDbType.VarChar, 28);
Parm.Direction = ParameterDirection.Output;
Conn.Open();
SqlDataReader dr = Comm.ExecuteReader();
Response.Write(Comm.Parameters["@ISValid"].Value);
Conn.Close();
总体上,操作SQL Server的程序和操作Access的程序方法一致。只需要做3个地方的修改,就可以把操作Access数据库的程序改成操作SQL Server的程序。
(1)修改引入的命名空间。操作Access数据库使用的是“System.Data.OleDb”,改成“System.Data.SqlClient”。
(2)修改ADO.NET的对象。分别把OleDbConnection、OleDbCommand、OleDbDataReader和OleDbDataAdapter等对象修改成SqlConnection、SqlCommand、SqlDataReader和SqlDataAdapter等对象。
(3)修改Connection对象的数据库连接串。操作Access数据库一般用:
“"Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath("person.mdb");”
修改为SQL Server连接串:“"server=localhost;database=pubs;uid=sa;pwd=''"”。
调用SQL Server的存储过程
= new SqlConnection("server=localhost;database=pubs;uid=sa;pwd=''");
SqlCommand Comm = new SqlCommand("testProc",);
// 将命令类型设为存储过程
Comm.CommandType=CommandType.StoredProcedure;
Conn.Open();
SqlDataReader dr = Comm.ExecuteReader();
dg.DataSource = dr;
dg.DataBind();
Conn.Close();
}
调用存储过程的输入和输出参数
= new SqlConnection("server=localhost;database=pubs;uid=sa;pwd=''");
SqlCommand Comm = new SqlCommand("sp_CheckPass",);
// 将命令类型设为存储过程
Comm.CommandType=CommandType.StoredProcedure;
// 添加并给参数赋值
SqlParameter Parm = Comm.Parameters.Add("@CHKName", SqlDbType.VarChar, 12);
Parm.Value = "aa";
Parm = Comm.Parameters.Add("@CHKPass", SqlDbType.VarChar, 12);
Parm.Value = "aa";
Parm = Comm.Parameters.Add("@ISValid", SqlDbType.VarChar, 28);
Parm.Direction = ParameterDirection.Output;
Conn.Open();
SqlDataReader dr = Comm.ExecuteReader();
Response.Write(Comm.Parameters["@ISValid"].Value);
Conn.Close();