我有一个标签容器,里面有4个标签。在其中一个名为ADD TASK的选项卡中,我得到了一些像
这样的字段(任务名称:--txtbox
客户名称: - drpdwn
开始日期: - txtbox wid日历
截止日期: - txtbox wid日历
说明: - txtbox
分配给: - drpdown
状态: - drpdown
%完成: - drpdown)
最后还有一个ADD和CANCEL按钮。
在运行项目并将值插入上述字段时,我将单击“添加”按钮,单击该按钮后,值应存储在我的数据库中。我已经在我的数据库中有一个名为TASK的表。
请帮我查看后端代码。
这是我的代码
protected void BtnAdd_Click(object sender, EventArgs e)
{
MTMSDTO objc = new MTMSDTO();
int Flag = 0;
objc.TaskName = Session["TaskName"].ToString();
objc.ClientName = DrpClientName.SelectedItem.Text;
objc.BeginDate = Convert.ToDateTime(TxtBeginDate.Text);
objc.DueDate = Convert.ToDateTime(TxtDueDate.Text);
objc.Description = Session["Description"].ToString();
objc.AssignTo = DrpAssignTo.SelectedItem.Text;
objc.Status = DrpStatus.SelectedItem.Text;
objc.PercentageComplete = Convert.ToInt32(DrpPercentageComplete.Text);
int X = obj.InsertTask(objc);
{
if (X >= 0)
{
Flag = 1;
}
else
{
Flag = 0;
}
}
if (Flag == 1)
{
LblSuccess.Visible = true;
LblSuccess.Text = "Data Added Successfully";
Panel2.Visible = false;
}
else
{
LblErr.Visible = true;
LblErr.Text = "Failed To Add Data!!!";
}
}
即时通讯使用分层架构,我在DAL CLASS的ACCESS文件中有此代码
public int InsertTask(MTMSDTO M)
{
DBAccess db = new DBAccess();
SqlParameter objParam = new SqlParameter("@TaskID", M.TaskID);
objParam.Direction = ParameterDirection.Output;
db.Parameters.Add(new SqlParameter("@TaskName", M.TaskName));
db.Parameters.Add(new SqlParameter("@ClientName", M.ClientName));
db.Parameters.Add(new SqlParameter("@BeginDate", M.BeginDate));
db.Parameters.Add(new SqlParameter("@DueDate", M.DueDate));
db.Parameters.Add(new SqlParameter("@Description", M.Description));
db.Parameters.Add(new SqlParameter("@AssignTo", M.AssignTo));
db.Parameters.Add(new SqlParameter("@Status", M.Status));
db.Parameters.Add(new SqlParameter("@PercentageComplete", M.PercentageComplete));
db.Parameters.Add(objParam);
int retval = db.ExecuteNonQuery("InsertTask");
if (retval >= 1)
{
return int.Parse(objParam.Value.ToString());
}
else
{
return -1;
}
}
现在编辑代码但是我得到的错误是"对象引用未设置为对象的实例。 "对于该行(objc.TaskName = Session [" TaskName"]。ToString();)在BtnAdd_Cick中。
答案 0 :(得分:1)
你的BtnAdd_Click函数不应该是这样的吗?您当前似乎没有调用InsertTask()函数。
protected void BtnAdd_Click(object sender, EventArgs e) {
MTMSDTO m = new MTMSDTO();
m.TaskName = TxtTaskName.Text;
m.ClientName = DrpClientName.Text;
m.BeginDate = TxtBeginDate.Text;
m.DueDate = TxtDueDate.Text;
m.Description = TxtDescription.Text;
m.AssignTo = DrpAssignTo.Text;
m.Status = DrpStatus.Text;
m.PercentageComplete = DrpPercentageComplete.Text;
InsertTask(m);
}
答案 1 :(得分:0)
获取后端的所有值并传递给此函数
public bool InsertRecord(string strTableName, string strColumn_Name, string strValues)
{
SqlConnection OBJCONNECTION;
StringBuilder strbQuery;
SqlCommand cmd;
try
{
OBJCONNECTION= new SqlConnection();
OBJCONNECTION.ConnectionString = ConfigurationManager.ConnectionStrings["Basic_ADO"].ConnectionString;//get connection string from web.config file
OBJCONNECTION=
strbQuery = new StringBuilder();
strbQuery.Append("INSERT INTO ");
strbQuery.Append(strTableName);
strbQuery.Append("(" + strColumn_Name + ")");
//strbQuery.Append(" VALUES");
strbQuery.Append("(" + strValues + ")");
cmd = new SqlCommand(strbQuery.ToString(), OBJCONNECTION);
cmd.ExecuteNonQuery();
return true;
}
catch (Exception ex) { throw ex; }
finally { strbQuery = null; cmd = null;OBJCONNECTION.close();}
}