private void UpdateDatabase(string time ,string barcode, string result) { string connString = @"Provider = Microsoft.ACE.OLEDB.12.0; Data Source = db.accdb;Jet OLEDB:Database Password = @maruhi"; using (OleDbConnection conn = new OleDbConnection(connString)) { conn.Open(); string query = "INSERT INTO ICT_test(Date, Barcode, Result) VALUES (@date, @barcode, @result)"; using (OleDbCommand cmd = new OleDbCommand(query, conn)) { cmd.Parameters.AddWithValue("@date", time); cmd.Parameters.AddWithValue("@barcode", barcode); cmd.Parameters.AddWithValue("@result", result); cmd.ExecuteNonQuery(); } } }数据库中还有id是自动编号的
时间: 2024-02-10 14:34:24 浏览: 23
好的,你的第一个问题是关于一个名为UpdateDatabase的方法的代码,这段代码的作用是将时间、条形码和结果插入到一个名为ICT_test的表中。其中,数据库连接字符串指定了使用Microsoft.ACE.OLEDB.12.0提供程序和db.accdb数据库文件,并设置了Jet OLEDB:Database Password为"@maruhi"。这个方法中使用了OleDbConnection和OleDbCommand类对象进行数据库操作,通过添加参数的方式向SQL语句中传递值。此外,这个ICT_test表中还有一个自动编号的id字段。
相关问题
private void UpdateDatabase(string time, string barcode, string result) { string connString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=db.accdb;Jet OLEDB:Database Password=@maruhi"; using (OleDbConnection conn = new OleDbConnection(connString)) { conn.Open(); string query = "INSERT INTO ICT_test(Date, Barcode, Result) VALUES (@time, @barcode, @result)"; using (OleDbCommand cmd = new OleDbCommand(query, conn)) { cmd.Parameters.AddWithValue("@time", DateTime.Now); cmd.Parameters.AddWithValue("@barcode", barcode); cmd.Parameters.AddWithValue("@result", result); cmd.ExecuteNonQuery(); } } }将前面得到的时间,结果,条码更新到数据库ICT_test表Date,Barcode,Result列中
好的,您想要将前面得到的时间、结果、条码更新到数据库ICT_test表的Date、Barcode、Result列中。可以使用以下代码实现:
```
private void UpdateDatabase(string time, string barcode, string result)
{
string connString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=db.accdb;Jet OLEDB:Database Password=@maruhi";
using (OleDbConnection conn = new OleDbConnection(connString))
{
conn.Open();
string query = "INSERT INTO ICT_test(Date, Barcode, Result) VALUES (@time, @barcode, @result)";
using (OleDbCommand cmd = new OleDbCommand(query, conn))
{
cmd.Parameters.AddWithValue("@time", time);
cmd.Parameters.AddWithValue("@barcode", barcode);
cmd.Parameters.AddWithValue("@result", result);
cmd.ExecuteNonQuery();
}
}
}
```
在UpdateDatabase方法中,我们使用OleDbConnection打开与数据库的连接,然后执行插入语句来将数据更新到数据库ICT_test表的Date、Barcode、Result列中。并使用cmd.Parameters.AddWithValue添加参数来避免SQL注入攻击。
private void OnFileCreated(object source, FileSystemEventArgs e) { string fileName = e.Name; string[] parts = fileName.Split(''); string barcode = parts[1]; if (fileName.StartsWith("goodBarcode")) { // 如果是良品点检报告 lb_test_state.BackColor = Color.Green; lb_test_state.Text = "良品点检完成"; isGoodChecked = true; UpdateDatabase(barcode, "OK"); } else if (fileName.StartsWith("badBarcode_")) { // 如果是不良品点检报告 lb_test_state.BackColor = Color.Green; lb_test_state.Text = "不良品点检完成"; isBadChecked = true; UpdateDatabase(barcode, "NG"); } CheckTestComplete(); }在上述代码基础上修改,将到的序号,条码,时间,产品(良品\不良品)结果写到窗体datagridview组件中
好的,可以在 `UpdateDatabase()` 方法中添加将数据添加到 DataGridView 的操作。具体代码如下:
```
private void OnFileCreated(object source, FileSystemEventArgs e)
{
string fileName = e.Name;
string[] parts = fileName.Split('_');
string barcode = parts[1];
string time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); // 获取当前时间
if (fileName.StartsWith("goodBarcode"))
{
// 如果是良品点检报告
lb_test_state.BackColor = Color.Green;
lb_test_state.Text = "良品点检完成";
isGoodChecked = true;
UpdateDatabase(barcode, "OK", time); // 更新数据库
// 将数据添加到 DataGridView
DataGridViewRow newRow = new DataGridViewRow();
newRow.CreateCells(dataGridView1);
newRow.Cells[0].Value = dataGridView1.Rows.Count + 1; // 序号为当前行数加一
newRow.Cells[1].Value = barcode;
newRow.Cells[2].Value = time;
newRow.Cells[3].Value = "良品";
dataGridView1.Rows.Add(newRow);
}
else if (fileName.StartsWith("badBarcode_"))
{
// 如果是不良品点检报告
lb_test_state.BackColor = Color.Green;
lb_test_state.Text = "不良品点检完成";
isBadChecked = true;
UpdateDatabase(barcode, "NG", time); // 更新数据库
// 将数据添加到 DataGridView
DataGridViewRow newRow = new DataGridViewRow();
newRow.CreateCells(dataGridView1);
newRow.Cells[0].Value = dataGridView1.Rows.Count + 1; // 序号为当前行数加一
newRow.Cells[1].Value = barcode;
newRow.Cells[2].Value = time;
newRow.Cells[3].Value = "不良品";
dataGridView1.Rows.Add(newRow);
}
CheckTestComplete();
}
```
其中,`dataGridView1` 是你的 DataGridView 组件名称,可以根据实际情况进行修改。`序号` 是根据当前 DataGridView 行数加一得到的,`条码` 是从文件名中获取的,`时间` 是获取当前时间得到的,`产品结果` 是根据是良品还是不良品得到的。这样就可以将数据动态地添加到 DataGridView 中了。