当我在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/