当用户将null values
留空时,我想在表中放置textbox
。我正在使用数组和for循环进行此操作:
private void AddQuestion()
{
string [] checkinput= new string[] { txtBxQuestionCat.Text, txBxQuestion.Text };
string[] countinput= new string[2];
if (String.IsNullOrEmpty(txtBxQuestionCat.Text) && String.IsNullOrEmpty(txBxQuestion.Text))
{
ExceptiesException ex = new ExceptiesException("error");
throw ex;
}
for (int i = 0; i < countinput.Length; i++)
{
if (checkinput[i] == "")
{
countinput[i] = null;
}
}
try
{
qa = new HR5DataSetTableAdapters.QueriesTableAdapter();
qa.AddQuestion(countinput[0], countinput[1]);
hR5DataSetQuestionTableAdapter.Fill(hR5DataSet.question);
questionViewSource1.View.MoveCurrentToLast();
MessageBox.Show("add complete");
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message);
}
}
这应该可以工作,但是当我添加questioncat
和question
并将其加载到我的datagrid
中时,新的questioncat
和{{1} }尚未添加到数据库,仅添加了新的question
。我认为这是因为我说QuestionId
,但是我不知道如果de countinput[i] = null
为空,值也必须为null
。
答案 0 :(得分:0)
您不需要countinput
变量。在“全部为空”检查后将for循环更改为
for (int i = 0; i < checkinput.Length; i++)
if (checkinput[i] == "")
checkinput[i] = null;
然后添加问题
qa.AddQuestion(checkinput[0], checkinput[1]);
当前,您总是输入空值,而忽略用户输入。