做了一个简单的注册页面,把textbox里面的值传入数据库,其中使用SqlParameter[]这个数组,因为刚接触不久所以调试没成功,各位能帮我看看哪里错了吗
DBhelper类中的一个方法: public static int ExecuteCommand(string SqlLanguage, params SqlParameter[] values)
{
SqlCommand comm = new SqlCommand(SqlLanguage, Connection);
comm.Parameters.AddRange(values);
return comm.ExecuteNonQuery();
}
后台代码:Session["name"] = txtUser.Text.Trim().ToString();
Session["pwd"] = txtPwd.Text.Trim().ToString();
Session["mail"] = txtMail.Text.Trim().ToString();
Session["phone"] = txtPhone.Text.Trim().ToString(); string sql = string.Format("insert into Users(UserName,UserPassword,Phone,Email) values(@name,@pwd,@phone,@mail) ");
SqlCommand command = new SqlCommand(sql,DbHelper.Connection);
SqlParameter[] sp = {
new SqlParameter("@name",SqlDbType.VarChar,50),
new SqlParameter("@pwd",SqlDbType.VarChar,50),
new SqlParameter("@mail",SqlDbType.VarChar,50),
new SqlParameter("@phone",SqlDbType.VarChar,50)
};
DbHelper.ExecuteCommand(sql, sp);
新手,见笑了
DBhelper类中的一个方法: public static int ExecuteCommand(string SqlLanguage, params SqlParameter[] values)
{
SqlCommand comm = new SqlCommand(SqlLanguage, Connection);
comm.Parameters.AddRange(values);
return comm.ExecuteNonQuery();
}
后台代码:Session["name"] = txtUser.Text.Trim().ToString();
Session["pwd"] = txtPwd.Text.Trim().ToString();
Session["mail"] = txtMail.Text.Trim().ToString();
Session["phone"] = txtPhone.Text.Trim().ToString(); string sql = string.Format("insert into Users(UserName,UserPassword,Phone,Email) values(@name,@pwd,@phone,@mail) ");
SqlCommand command = new SqlCommand(sql,DbHelper.Connection);
SqlParameter[] sp = {
new SqlParameter("@name",SqlDbType.VarChar,50),
new SqlParameter("@pwd",SqlDbType.VarChar,50),
new SqlParameter("@mail",SqlDbType.VarChar,50),
new SqlParameter("@phone",SqlDbType.VarChar,50)
};
DbHelper.ExecuteCommand(sql, sp);
新手,见笑了
SqlParameter[] sp = {
new SqlParameter("@name", txtUser.Text.Trim()),
new SqlParameter("@pwd",txtPwd.Text.Trim()),
new SqlParameter("@mail",txtMail.Text.Trim()),
new SqlParameter("@phone",txtPhone.Text.Trim())
};
还有,你搞那么多ToString做啥啊,画蛇添足,降低效率。
public static void UpdateFeedBackState(string orderid)
{
if (string.IsNullOrEmpty(orderid))
{
return;
}
try
{
StringBuilder sql = new StringBuilder();
sql.Append("update orderinfo set O_FeedBackStatus=2 where O_OrderCode=@orderid and O_FeedBackStatus=1");
MySqlParameter param = new MySqlParameter("@orderid",orderid);
DBHelper.ExecuteNonQuery(sql.ToString(),param);
}
catch (Exception ex)
{
Log.WriteLog("执行回传成功修改回传状态为2出错:", ex);
throw;
}
}
其实一般只要写参数名会值就OK了,其他的不用管,像我这样。
//依次类推,可以选择用SqlParameter[],也可以选择List<SqlParameter>
SqlParameter sp = new SqlParameter("@name", SqlDbType.VarChar, 50);
sp.Value = Session["name"];
给参数赋值,你现在只给了类型
Session["name"] = txtUser.Text.Trim().ToString();
Session["pwd"] = txtPwd.Text.Trim().ToString();
Session["mail"] = txtMail.Text.Trim().ToString();
Session["phone"] = txtPhone.Text.Trim().ToString(); string sql = string.Format("insert into Users(UserName,UserPassword,Phone,Email) values(@name,@pwd,@phone,@mail) ");
SqlCommand command = new SqlCommand(sql,DbHelper.Connection);
SqlParameter[] sp = {
new SqlParameter("@name",SqlDbType.VarChar,50),
new SqlParameter("@pwd",SqlDbType.VarChar,50),
new SqlParameter("@mail",SqlDbType.VarChar,50),
new SqlParameter("@phone",SqlDbType.VarChar,50)
};
sp[0].Value = XXX;
sp[1].Value = XXX;
sp[2].Value = XXX;
sp[3].Value = XXX;
DbHelper.ExecuteCommand(sql, sp);
Session["pwd"] = txtPwd.Text.Trim().ToString();
Session["mail"] = txtMail.Text.Trim().ToString();
Session["phone"] = txtPhone.Text.Trim().ToString(); string sql = string.Format("insert into Users(UserName,UserPassword,Phone,Email) values(@name,@pwd,@phone,@mail) ");
SqlCommand command = new SqlCommand(sql,DbHelper.Connection);
SqlParameter[] sp = {
new SqlParameter("@name",txtUser.Text.Trim()),
new SqlParameter("@pwd",txtPwd.Text.Trim()),
new SqlParameter("@mail",txtMail.Text.Trim()),
new SqlParameter("@phone",txtPhone.Text.Trim())
};
sp[0].Value = XXX;
sp[1].Value = XXX;
sp[2].Value = XXX;
sp[3].Value = XXX;
DbHelper.ExecuteCommand(sql, sp);
sp[0].Value = XXX;
sp[1].Value = XXX;
sp[2].Value = XXX;
sp[3].Value = XXX;..
new SqlParamete("@name",SqlDbType.VarChar,value1),
new SqlParameter("@pwd",SqlDbType.VarChar,value2),
new SqlParamete("@mail",SqlDbType.VarChar,value3),
new SqlParamete("@phone",SqlDbType.VarChar,vlaue4)
};