日期:2014-05-17 浏览次数:20578 次
SqlCommand myComm = new SqlCommand(); myComm.CommandText = "SELECT * FROM UserInfo WHERE UserName = @UserName "; // 这里就是传参 myComm.Parameters.Add( "@UserName", yourValue );
------解决方案--------------------
string sql="INSERT INTO IP_LocalAllot(PID, DeptName, StartAddress, EndAddress, AllotDate, Remarks) VALUES (@T_ID, @T_Name, @StartAddress, @EndAddress, @AllotDate, @Remarks)" ;
ExecuteCommand(sql,
new SqlParameter[]{
new SqlParamter("@T_ID",T_ID),
new Sqlparamter("@T_Name",T_Name),
.....
}
)
public int ExecuteCommand(string sql, params SqlParameter[] pars)
{
SqlConnection sqlConnection = new SqlConnection(_connstr);
SqlCommand sqlCommand = new SqlCommand(sql, sqlConnection);
sqlCommand.Parameters.AddRange(pars);
HToOpen(sqlConnection);
int count = sqlCommand.ExecuteNonQuery();
sqlCommand.Parameters.Clear();
HToClose(sqlConnection);
return count;
}
------解决方案--------------------
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into ChannelList(");
strSql.Append("ChannelNO,ChannelClass,curStatus,Area,Remark)");
strSql.Append(" values (");
strSql.Append("@ChannelNO,@ChannelClass,@curStatus,@Area,@Remark)");
strSql.Append(";select @@IDENTITY");
SqlParameter[] parameters = {
new SqlParameter("@ChannelNO", SqlDbType.VarChar,20),
new SqlParameter("@ChannelClass", SqlDbType.VarChar,20),
new SqlParameter("@curStatus", SqlDbType.VarChar,20),
new SqlParameter("@Area", SqlDbType.VarChar,20),
new SqlParameter("@Remark", SqlDbType.Text)};
parameters[0].Value = 赋值1;
parameters[1].Value = 赋值2;
parameters[2].Value = 赋值3;
parameters[3].Value = 赋值4;
parameters[4].Value = model.Remark;
object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);
if (obj == null)
{
return 1;
}
else
{
return Convert.ToInt32(obj);
}
------解决方案--------------------
楼主 能不能把你后台的代码贴出来
------解决方案--------------------
很明显是DeptName不能为空,你插入时可能是空值:1首先看看你T_Name的取值是不是为空;2看看T_Name是否和@T_Name参数对应上了
------解决方案--------------------
解决思路:
1.调试跟踪一下T_ID ,T_Name 看看是否有值
2.将你的跟踪出来的sql放倒数据库中去执行一下看看是否报错
这样子很容易就找到问题的所在,应该很好解决的。
------解决方案--------------------
这个问题以前常碰到,都是粗心大意把代码写错了,使得SQL无法获得要赋的值,再仔细检查一下吧。。。
也有可能你提交过去的“Label2.Text.Trim()”就是一个空值。。。