使用ADO.NET物件呼叫儲存過程的輸入和輸出引數
阿新 • • 發佈:2019-02-01
使用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();