比如我有一个函数执行存储过程
ExcuteSP(string spname,Parameter[]para)
{}
上面那个Parameter要怎么使用啊?
如何先把参数都添加到一个Para里面,然后又如何都添加给存储过程的参数传入。
ExcuteSP(string spname,Parameter[]para)
{}
上面那个Parameter要怎么使用啊?
如何先把参数都添加到一个Para里面,然后又如何都添加给存储过程的参数传入。
System.Data.SqlClient.SqlParameter[] _Paramert = new SqlParameter[]
{
new SqlParameter("@id",SqlDbType.Int),
new SqlParameter("@name",SqlDbType.VarChar,20)
}; _Paramert[0].Value = 1;
_Paramert[0].Value = "Name";
ExcuteSP(_SqlCommand,_Paramert)
public void ModifyUser(PersonInfo per)
{
SqlParameter[] modifyUserPara = new SqlParameter[]{
new SqlParameter(PARM_USER_ID,SqlDbType.VarChar,20),
new SqlParameter(PARM_PASSWORD,SqlDbType.VarChar,20),
new SqlParameter(PARM_NAME,SqlDbType.VarChar,40),
new SqlParameter(PARM_POSITION,SqlDbType.Char,4),
new SqlParameter(PARM_PHONE,SqlDbType.VarChar,20),
new SqlParameter(PARM_EMAIL,SqlDbType.VarChar,80),
new SqlParameter(PARM_STATUS,SqlDbType.VarChar,4)}; modifyUserPara[0].Value = per.Id;
modifyUserPara[1].Value = per.Password;
modifyUserPara[2].Value = per.Name;
modifyUserPara[3].Value = per.Position;
modifyUserPara[4].Value = per.Phone;
modifyUserPara[5].Value = per.Email;
modifyUserPara[6].Value = per.Status;
helper.UpdateSQL(PROC_MODIFY_USER, modifyUserPara);
}
SqlCmd.Connection = SqlConn;
SqlCmd.CommandText = SelectSQL;
SqlCmd.Parameters.Add("@customerid", SqlDbType.NVarChar, 50).Value="值";
{
new SqlParameter("@id",SqlDbType.Int),
.....
}; Paramers [0].Value = 1;
//.....将Paramers构造好后当参数传递给ExcuteSP就行了
{
if (comm == null) { throw new ArgumentNullException("comm"); }
if (commandParameters != null)
{
foreach (SqlParameter p in commandParameters)
{
if ((p.Direction == ParameterDirection.InputOutput || p.Direction == ParameterDirection.Output) && p.Value == null)
{
p.Value = DBNull.Value;
}
comm.Parameters.Add(p);
}
}
}
{
String ConnStr = OleDbHelper.GetSqlConnection();
using (OleDbConnection conn = new OleDbConnection(ConnStr))
{
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
cmd.CommandText = Sqlstr;
cmd.Parameters.AddRange(param);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
return 1;
}
}
{
OleDbConnection dbconn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data source=" + strDBpath);
try
{
dbconn.Open();
OleDbCommand cmd = new OleDbCommand(sql, dbconn); cmd.Parameters.AddRange(param);
int result = cmd.ExecuteNonQuery(); return result;
}
catch
{
return -1;
}
finally
{
dbconn.Close();
}
}调用上面的方法: Result = DBHelps.ExcuteCommand(strSql, new OleDbParameter("@UserName", UI.UserName), new OleDbParameter("@Pwd", UI.Pwd));