c# - 检查datagridview中是否存在行,如果不存在则插入新行c#
问题描述
我正在尝试从 SQL 数据库调用数据并在 datagirview 中显示,到目前为止一切正常,但是我想在调用新数据并且数据网格视图中存在该行之后,将 datagridview 列中的 qty 更新为 1,如果数据不存在在 datagridview 然后添加新行。检查行是否存在的条件,可以是条形码或索引[0]
我使用此代码调用数据
SqlCommand cmd = new SqlCommand("calldata", com);
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@barcode", Convert.ToInt64(txtbarcode.Text));
//Created a new DataTable
txtbarcode.Text = "";
SqlDataAdapter da = new SqlDataAdapter(cmd);
dtgproduct.DataSource = dataTable.DefaultView;
com.Close();
com.Open();//Open the SQL connection
SqlDataReader reader = cmd.ExecuteReader();//Create a SqlDataReader
while (reader.Read())//For each row that the SQL query returns do
{
DataRow dr = dataTable.NewRow();//Create new DataRow to populate the DataTable (which is currently binded to the DataGrid)
dr[0] = reader[0];//Fill DataTable column 0 current row (Product) with reader[0] (Product from sql)
dr[1] = reader[1];
dr[2] = reader[2];
dr[3] = reader[3];
dr[4] = reader[4];
dr[5] = reader[5];
dataTable.Rows.Add(dr);
}
谢谢大家!!
解决方案
尝试以下操作:
DataTable dt = new DataTable();
dt.Load(reader);
然后,您可以仅依靠您的 SQL 调用来防止重复行。
推荐阅读
- c# - 将多个工作簿 sheet1 合并到一个母版中
- c++ - 渲染大块时的纹理混叠问题:OpenGL
- python-3.x - python3 - exec(open('....py').read()) - 传输变量
- reactjs - ESLint - 函数反应组件上缺少返回类型 - 打字稿错误解释
- spring-boot - Spring Scheduler 在循环后不会停止,但会在停止并重新触发之前运行 1 分钟
- python - 如何在给定时间后插入用于随机化和操作的命令
- python - Python多线程效率不高
- python - 为什么只有第一个 if 语句在我的 getPostFix 方法中执行?
- android - 在 glide 中设置内存缓存
- julia - 如何使用现有阵列的采样技术创建样本?