我有一个gridview,包含2个字段属性,值并包含3个文本框。 当我输入值时,我将一些文本框保留为空,我需要检查空文本框。并且空值不想插入数据库。我该如何解决这个问题?
这是我的代码
foreach (GridViewRow gvr in GridView1.Rows)
{
string strcon1;
strcon1 = ConfigurationManager.ConnectionStrings["fwma_devConnectionString"].ConnectionString;
SqlConnection con1 = new SqlConnection(strcon1);
con1.Open();
SqlCommand com3 = new SqlCommand(strcon);
TextBox tb = (TextBox)gvr.FindControl("TextBox2");//value
string txt = tb.Text;
Label propertylabel = (Label)gvr.FindControl("Label4");//id-property
com3.CommandText = "INSERT INTO BrandProperties(PropertyID,BrandID,[Values]) values('" + propertylabel.Text + "','" + B_id.Text + "','" + tb.Text + "')";
com3.Connection = con1;
com3.ExecuteNonQuery();
con1.Close();
if (tb.Text == String.Empty)
{
}
}
答案 0 :(得分:1)
这可以吗?
//代码
TextBox tb = (TextBox)gvr.FindControl("TextBox2");//value
string txt = tb.Text;
If(tb.Text!=string.IsNullOrEmpty)
{
//Do your stuff
}
答案 1 :(得分:1)
您可以尝试
If(tb.Text!= string.Empty)
{
//Do your stuff
}
或者
If(tb.Text!="")
{
//Do your stuff
}
或者,尝试在null
查询之前检查Empty
或insert
。
if (!string.IsNullOrEmpty("tb.Text"))
{
// Do Your stuff
}
希望它有效。
答案 2 :(得分:1)
您需要重新组织代码以首先获取文本框控件,然后检查非空字符串。如果非空,则执行DB插入。
foreach (GridViewRow gvr in GridView1.Rows)
{
TextBox tb = (TextBox)gvr.FindControl("TextBox2");//value
if (!string.IsNullOrEmpty(tb.Text))
{
string strcon1;
strcon1 = ConfigurationManager.ConnectionStrings["fwma_devConnectionString"].ConnectionString;
SqlConnection con1 = new SqlConnection(strcon1);
con1.Open();
SqlCommand com3 = new SqlCommand(strcon);
Label propertylabel = (Label)gvr.FindControl("Label4");//id-property
com3.CommandText = "INSERT INTO BrandProperties(PropertyID,BrandID,[Values]) values('" + propertylabel.Text + "','" + B_id.Text + "','" + tb.Text + "')";
com3.Connection = con1;
com3.ExecuteNonQuery();
con1.Close();
}
}
答案 3 :(得分:1)
Best Idea是为该文本框使用必需的字段验证器。然后你可以添加双重检查,如
string.IsNullOrEmpty(tb.Text)