谁帮忙看下程序有什么问题 运行问题变量名 '@EntryTime' 已声明。变量名在查询批次或存储过程内部必须唯一 10
privatevoidbtnEntry_Click(objectsender,EventArgse){//定义一个初始值n=0,用于判断后期是否成功插入数据intn=0;...
private void btnEntry_Click(object sender, EventArgs e)
{
//定义一个初始值n=0, 用于判断后期是否成功插入数据
int n = 0;
string sql = "insert into T_Cost(EntryTime,Cost,CostCategories,InvoiceID,Customer,Products,HasConfirm,HasRecorded,ConfirmTime,RecordedTime) values (@EntryTime,@Cost,@CostCategories,@InvoiceID,@Customer,@Products,@HasConfirm,@HasRecorded,@ConfirmTime,@RecordedTime)";
//提交时间、费用、费用类别、发票号、客户、产品、是否已经确认、是否已经入账、提交人姓名(当前用户的姓名)
//判断插入的数据是否为空
if (txtEntryName.Text.Trim() == "" || txtCost.Text.Trim() == "" || CBoxCostCate.Text.Trim() == "" || txtInvoiceID.Text.Trim()=="")
{
MessageBox.Show("费用、费用类型、发票号为必填");
return;
}
//向数据库插入参数
SqlParameter[] param ={
new SqlParameter("@EntryName",txtEntryName.Text),// TODO:txtEntryName.Text不能输入 由系统直接调用相关的姓名
new SqlParameter("@Cost",txtCost.Text),//费用
new SqlParameter("@EntryTime",txtEntryTime.Text),//提交时间
new SqlParameter("@CostCategories",CBoxCostCate.SelectedItem),//费用类别
new SqlParameter("@Customer",CBoxConsumer.SelectedItem),//客户
new SqlParameter("@EntryTime",CBoxProducts.SelectedItem),//产品名称
new SqlParameter("@InvoiceID",txtInvoiceID.Text),//发票号
new SqlParameter("@HasConfirm",0),//是否确认
new SqlParameter("@HasRecorded",0),//是否入账
new SqlParameter("@ConfirmTime",0),//是否入账
new SqlParameter("@RecordedTime",0)//是否入账
};
SqlConnection conn = new SqlConnection(connStr);
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
cmd.Parameters.AddRange(param);
n = cmd.ExecuteNonQuery();
conn.Close();
if (n > 0)
{
MessageBox.Show("添加成功!");
}
else
{
MessageBox.Show("添加失败!");
return;
}
//调用Refresh方法,在添加完成数据后 自动刷新并显示新数据
Refresh();
}
这是运行的错误提示:
变量名 '@EntryTime' 已声明。变量名在查询批次或存储过程内部必须唯一。
必须声明标量变量 "@InvoiceID"。 展开
{
//定义一个初始值n=0, 用于判断后期是否成功插入数据
int n = 0;
string sql = "insert into T_Cost(EntryTime,Cost,CostCategories,InvoiceID,Customer,Products,HasConfirm,HasRecorded,ConfirmTime,RecordedTime) values (@EntryTime,@Cost,@CostCategories,@InvoiceID,@Customer,@Products,@HasConfirm,@HasRecorded,@ConfirmTime,@RecordedTime)";
//提交时间、费用、费用类别、发票号、客户、产品、是否已经确认、是否已经入账、提交人姓名(当前用户的姓名)
//判断插入的数据是否为空
if (txtEntryName.Text.Trim() == "" || txtCost.Text.Trim() == "" || CBoxCostCate.Text.Trim() == "" || txtInvoiceID.Text.Trim()=="")
{
MessageBox.Show("费用、费用类型、发票号为必填");
return;
}
//向数据库插入参数
SqlParameter[] param ={
new SqlParameter("@EntryName",txtEntryName.Text),// TODO:txtEntryName.Text不能输入 由系统直接调用相关的姓名
new SqlParameter("@Cost",txtCost.Text),//费用
new SqlParameter("@EntryTime",txtEntryTime.Text),//提交时间
new SqlParameter("@CostCategories",CBoxCostCate.SelectedItem),//费用类别
new SqlParameter("@Customer",CBoxConsumer.SelectedItem),//客户
new SqlParameter("@EntryTime",CBoxProducts.SelectedItem),//产品名称
new SqlParameter("@InvoiceID",txtInvoiceID.Text),//发票号
new SqlParameter("@HasConfirm",0),//是否确认
new SqlParameter("@HasRecorded",0),//是否入账
new SqlParameter("@ConfirmTime",0),//是否入账
new SqlParameter("@RecordedTime",0)//是否入账
};
SqlConnection conn = new SqlConnection(connStr);
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
cmd.Parameters.AddRange(param);
n = cmd.ExecuteNonQuery();
conn.Close();
if (n > 0)
{
MessageBox.Show("添加成功!");
}
else
{
MessageBox.Show("添加失败!");
return;
}
//调用Refresh方法,在添加完成数据后 自动刷新并显示新数据
Refresh();
}
这是运行的错误提示:
变量名 '@EntryTime' 已声明。变量名在查询批次或存储过程内部必须唯一。
必须声明标量变量 "@InvoiceID"。 展开
展开全部
1. new SqlParameter("@EntryTime",txtEntryTime.Text),//提交时间
new SqlParameter("@EntryTime",CBoxProducts.SelectedItem),//产品名称
检查 "@InvoiceID"在insert 语句里面是否有问题,重新复制粘贴下
new SqlParameter("@EntryTime",CBoxProducts.SelectedItem),//产品名称
检查 "@InvoiceID"在insert 语句里面是否有问题,重新复制粘贴下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询