我正在使用此代码从sqlite表中读取并将行添加到DataGridview。问题是如果我想多次添加同一个项目,它只会添加一次。我希望能够添加任意数量的项目。
private SQLiteConnection sql_con;
private SQLiteCommand sql_cmd;
private SQLiteDataAdapter DB;
private DataSet DS = new DataSet();
private DataTable DT = new DataTable();
private void btnAdicionaProduto_Click(object sender, EventArgs e)
{
string cmdInsereProdutos = "select codigo,Nome,Unidade,Valor from Produtos where codigo = @codigo";
InsereProdutosCaixa(cmdInsereProdutos);
if (dataGridViewProdutos.RowCount > 0)
{
dataGridViewProdutos.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
dataGridViewProdutos.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
dataGridViewProdutos.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
dataGridViewProdutos.Columns[3].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
for (int i = 0; i < dataGridViewProdutos.Columns.Count; i++)
{
int colw = dataGridViewProdutos.Columns[i].Width;
dataGridViewProdutos.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.None;
dataGridViewProdutos.Columns[i].Width = colw;
}
txtCodigo.Text = "";
txtCodigo.Focus();
}
}
private void InsereProdutosCaixa(string txtQuery)
{
try
{
SetConnection();
sql_con.Open();
sql_cmd = sql_con.CreateCommand();
sql_cmd.Parameters.AddWithValue("@codigo", txtCodigo.Text);
sql_cmd.CommandText = txtQuery;
SQLiteDataReader readerProduto = sql_cmd.ExecuteReader();
DT.Load(readerProduto);
dataGridViewProdutos.DataSource = DT;
sql_con.Close();
}
catch (SQLiteException e)
{
MessageBox.Show(e.ToString(), "ERRO");
}
}