【问题标题】:how to insert values of datagridview rows by column in database c#如何在数据库c#中按列插入datagridview行的值
【发布时间】:2019-07-13 18:55:26
【问题描述】:

我已经使用了在 datagridview 中插入文本框值的函数,现在我想在单击按钮时在数据库中按列插入 datagridview 行,我正在尝试使用此代码:

for (int RowIndex = 0; RowIndex < dgViewMedicines.Rows.Count; RowIndex++)
            {
            int Presc_Id = Convert.ToInt32(LPresc_ID);
            PID = Convert.ToInt32(tbPID.Text);
            Med_Id = 
Convert.ToInt32(dgViewMedicines.Rows[RowIndex].Cells["MedID"].Value);
            Med_Time = (dgViewMedicines.Rows[RowIndex].Cells["MedTime"].ToString());
            Med_Duration = (dgViewMedicines.Rows[RowIndex].Cells["MedDuration"].ToString());
            Med_QTY = Convert.ToInt32(dgViewMedicines.Rows[RowIndex].Cells["MedQTY"].Value);

            string query2 = "INSERT INTO tblPrescDetailMedicine Values ('"+ Presc_Id +"', '"+ PID +"', '"+ Med_Id +"', '"+ Med_Time +"', '"+ Med_Duration +"', '"+ Med_QTY +"')";

            cmd.CommandText = query2;
            cmd.ExecuteNonQuery();

我从前两个命令获取值,但没有从其他命令获取值,例如,如果我运行应用程序,输入数据并尝试通过单击按钮保存数据,我收到一个名为“输入字符串”的错误在第三个命令中不正确”。

请看看这个,让我知道问题出在哪里。我会非常感谢你。

【问题讨论】:

  • 这绝对是创建查询的错误方法。如果您有 DataGridView,插入数据库的最简单方法(几乎不需要代码)是使用 DataTable 和 DataAdapter。
  • Ňɏssa Pøngjǣrdenlarp 你能给我一个简短的代码作为一个例子吗?请问我只是c#的初学者。

标签: c# sql loops datagridview


【解决方案1】:

我可能错了,但据我所知,DataGridView 单元格需要一个索引号,这说明为什么您会在循环的第三行收到错误,看看这是否有效:

foreach (DataGridViewRow r in dgViewMedicines.Rows)
{
    int Presc_Id = (int)LPresc_ID;
    PID = (int)tbPID.Text;
    Med_Id = (int)r.Cells[0].Value;
    Med_Time = (string)r.Cells[1];
    Med_Duration = (string)r.Cells[2];
    Med_QTY = (int)r.Cells[3].Value;

    cmd.CommandText = "INSERT INTO tblPrescDetailMedicine Values ('"+ Presc_Id +"', '"+ PID +"', '"+ Med_Id +"', '"+ Med_Time +"', '"+ Med_Duration +"', '"+ Med_QTY +"')";
    cmd.ExecuteNonQuery();
}

【讨论】:

  • 谢谢哥们,它有效。另外你能告诉我for循环和foreach循环有什么区别吗?
  • foreach 循环简单地遍历对象中的每个实例。您使用的 for 循环非常好,还允许您计算您旋转的实例数量,但在您的情况下,它不是必需的。对于您的方案,简单地遍历 DatGridView 中的每一行会更容易。
【解决方案2】:
string db="";
string databaseError="Error while locating".Count()>Convert.ToPDF(beaver.Text).ToString();
if(databaseError!=databaseError+beaver.Text.toInt32())
{
HttpWeb http = new HttpWeb(beaver.addText("host=");
http.LoadDatabase(query.Select().For(int i=0; i<100); i++)
{
while(1==1)
{
Database.query="select * from * where * = 1");
Database.query="update * set * = beaver.Text);
// Print recipe for cake from database error login sign up error enterprise edition 2019 full
MessageBox.Show(error.databaseError);
}
}
}

【讨论】:

  • 嗨 Rick Astley,我无法理解你的评论。和我的问题有关吗?我认为不是。
猜你喜欢
  • 2014-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多