当我在datagridview文本框中键入内容时,会自动生成下一行。

如何停止呢?

当我单击“插入”按钮时,空行也存储在数据库中,这就是为什么我要问如何停止自动生成行?

我想只将文本行存储在数据库中,而不将空行或空行存储在数据库中?

 string StrQuery;
using (SqlConnection conn = new SqlConnection(connection string))
{
using (SqlCommand comm = new SqlCommand())
{
comm.Connection = conn;
conn.Open();
for(int i=0; i< dataGridView1.Rows.Count;i++)
{
StrQuery= @"INSERT INTO std VALUES ('"
+ dataGridView1.Rows[i].Cells["sname"].Value +"', '"
+ dataGridView1.Rows[i].Cells["class"].Value +"')";
comm.CommandText = StrQuery;
comm.ExecuteNonQuery();
}
}
}

最佳答案

将AllowUserToAddRows属性设置为false

但是根据您的代码,必须使用以下方法检查外观并检查单元格的值是否为空:

        for(int i=0; i< dataGridView1.Rows.Count;i++)
    {
if (dataGridView1.Rows[i].Cells["sname"]!=null)
{
    StrQuery= @"INSERT INTO std VALUES ('"
    + string.IsNullOrWhiteSpace(dataGridView1.Rows[i].Cells["sname"].Value) +"', '"
    + string.IsNullOrWhiteSpace(dataGridView1.Rows[i].Cells["class"].Value) +"')";
    comm.CommandText = StrQuery;
    comm.ExecuteNonQuery();
}
    }


因为如果停止网格以自动添加行,则必须手动执行此操作以插入新行。因此,最好的事情是您必须让网格添加新闻行。但是将空值检查放在您的代码中。

关于c# - C#-仅文本行将存储在数据库中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11578700/

10-13 08:49