当前位置:编程学习 > C#/ASP.NET >>

我在写入数据库时,出现错 我是新入门者,谢谢



这是添加时出现的错误。
附代码:
private bool AddAnalyst()
{
bool result = false;

try
{
objAnalyst.UserName = txtUserName.Text.Replace(" ", "").Replace(" ", "");
objAnalyst.Password = txtPasswordChk.Text.Replace(" ", "").Replace(" ", "");
objAnalyst.No = txtNo.Text.Replace(" ", "").Replace(" ", "");
objAnalyst.Duty = txtDuty.Text.Replace(" ", "").Replace(" ", "");
objAnalyst.Trait = txtTrait.Text.Trim();
objAnalyst.Brief = txtBrief.Text.Trim();
objAnalyst.Telephone = txtTelephone.Text.Replace(" ", "").Replace(" ", "");
objAnalyst.State = ddlState.SelectedValue;
if (objAnalyst.Pic1 == null)
{
objAnalyst.Pic1 = DBNull.Value.ToString();
}
if (objAnalyst.Pic2 == null)
{
                objAnalyst.Pic2 = DBNull.Value.ToString();
}
if (objAnalyst.Pic3 == null)
{
                objAnalyst.Pic3 = DBNull.Value.ToString();
}
if (objAnalyst.Video == null)
{
                objAnalyst.Video = DBNull.Value.ToString();
}

if (objAnalystMng.AddAnalyst(objAnalyst))
{
result = true;
}
}
catch (Exception)
{
throw;
}

return result;
}

类代码:

public bool AddAnalyst(clsAnalyst objAnalyst)
{
try
{
string strSql = String.Empty;
List<SqlParameter> arrParam = new List<SqlParameter>();

arrParam.Add(new SqlParameter("@UserName", objAnalyst.UserName));
arrParam.Add(new SqlParameter("@Password", objAnalyst.Password));
arrParam.Add(new SqlParameter("@No", objAnalyst.No));
arrParam.Add(new SqlParameter("@Trait", objAnalyst.Trait));
arrParam.Add(new SqlParameter("@Brief", objAnalyst.Brief));
arrParam.Add(new SqlParameter("@Telephone", objAnalyst.Telephone));
arrParam.Add(new SqlParameter("@Pic1", objAnalyst.Pic1));
arrParam.Add(new SqlParameter("@Pic2", objAnalyst.Pic2));
arrParam.Add(new SqlParameter("@Pic3", objAnalyst.Pic3));
arrParam.Add(new SqlParameter("@State", objAnalyst.State));
arrParam.Add(new SqlParameter("@Duty", objAnalyst.Duty));
arrParam.Add(new SqlParameter("@Video", objAnalyst.Video));

strSql = "insert into tv_analyst (UserName,Password,No,Trait,Brief,Telephone,Pic1,Pic2,Pic3,State,Duty,Video) values (@UserName,@Password,@No,@Trait,@Brief,@Telephone,@Pic1,@Pic2,@Pic3,@State,@Duty,@Video)";

int result = objDB.cmd_Execute(strSql, arrParam.ToArray());

if (result == 1)
{
return true;
}
else
{
return false;
}
}
catch (Exception)
{

throw;
}
} --------------------编程问答-------------------- 好乱的代码!

你看错误提示啊,错误提示里面说得很清楚,你少传了一个参数@id,你上面的代码没有@id参数。

估计你的ID是主键,而且查询语句里面是 select ........... where ID=@id
你不传个@id参数进去,肯定会抛错的。 --------------------编程问答-------------------- strSql = "insert into tv_analyst (UserName,Password,No,Trait,Brief,Telephone,Pic1,Pic2,Pic3,State,Duty,Video) values (@UserName,@Password,@No,@Trait,@Brief,@Telephone,@Pic1,@Pic2,@Pic3,@State,@Duty,@Video)"; 

int result = objDB.cmd_Execute(strSql, arrParam.ToArray()); 


这个是添加,也没传id呀。 --------------------编程问答-------------------- 你给参数啊,你既然方法里有写了参数,你不传进去怎么弄
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,