【发布时间】:2018-03-20 15:22:27
【问题描述】:
我正在检查数据库表中的条形码是否存在(使用选择查询)并将详细信息插入另一个数据库表,否则条形码不存在。插入很好,但我想计算输入的条形码数量。假设在会话中用户输入了 5 个条形码,那么总数为 5,但我的代码一直返回 1 并且不递增。
protected void btnReturn_Click(object sender, EventArgs e)
{
string barcode = txtBarcode.Text;
string location = lblLocation.Text;
string user = lblUsername.Text;
string actType = lblAct.Text;
string date = lblDate.Text;
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["TWCL_OPERATIONSConnectionString"].ToString());
//commands identifying the stored procedure
SqlCommand cmd = new SqlCommand("selectCrate", conn);
SqlCommand cmd1 = new SqlCommand("CreateCrateBox", con);
// execute the stored procedures
cmd.CommandType = CommandType.StoredProcedure;
cmd1.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@crateno", barcode);
conn.Open();
using (SqlDataReader reader = cmd.ExecuteReader())
{
if (reader.HasRows) {
while (reader.Read())
{
lblResult.Text = reader[0].ToString();
lblResult1.Text = reader[1].ToString();
cmd1.Parameters.Add("@crateno", SqlDbType.NVarChar).Value = barcode);
cmd1.Parameters.Add("@CurrentLocation", SqlDbType.NVarChar).Value = location;
cmd1.Parameters.Add("@Username", SqlDbType.NVarChar).Value = user;
cmd1.Parameters.Add("@Date", SqlDbType.DateTime).Value = date;
cmd1.Parameters.Add("@status", SqlDbType.NVarChar).Value = actType;
counter = counter + 1;
}
reader.Close();
cmd1.ExecuteNonQuery();
txtCount.Text = counter.ToString();
lblCount.Text = string.Format("Number of rows: {0}", counter);
}
else
{
lblError.Text = barcode + " does not exist!!";
}
}
【问题讨论】:
-
当我插入时我想数数。这并没有为我提供太多帮助,但感谢您的赞赏
-
如果它的用途很小。您可以在查询中添加计数,然后将其读出。
-
插入 CrateHistory 值(@crateno,@crateLocation,@username,@activityType)这是我的查询如何将计数添加到该查询
-
不是在插入过程中,而是在阅读过程中。