如果textBox字段为空,我想将SQL Server 2008数据库表中的所有行返回到SQL数据源.所以我用一个if @date IS NULL子句创建了一个存储过程.
虽然存储过程似乎在Visual Studio 2008中正常工作,但实际网页没有显示任何结果.
我猜我必须向DBNull存储过程发送一个值if if textBox.Text == string.Empty.我试过了,SqlDataSource1.SelectParameters.Add但似乎我得到转换错误DBNull.Value到字符串.
这是我的问题的根源还是我错过了其他的东西?DBNull.Value如果文本字段为空,我将如何传递到存储过程?
好的我已经创建了一个产品表[ID,itemCode],一个销售表和一个返回库存物品的SUM的视图.事情是,如果该物品尚未售出,则视图中没有该物品的记录.我需要检查物品是否有库存才能完成进一步的销售等.
我做的是这样的:
string selectSQL = "SELECT [total] FROM [stock] WHERE ([itemCode] = " + TextBoxCode.Text + ")";
SqlConnection con = new SqlConnection(connectionString);
SqlCommand com = new SqlCommand(selectSQL, con);
try
{
con.Open();
object obj = com.ExecuteScalar();
if (obj == null) //(also tried is DBNull)
{
lblStatus.Text = "Does not exist in stock";
}
else
{
sum = com.ExecuteScalar().ToString();
lblStatus.Text = "Items in stock: " + sum;
}
}
catch (Exception err)
{
lblStatus.Text = err.Message;
}
finally
{
con.Close();
}
Run Code Online (Sandbox Code Playgroud)
当物品实际存在于库存中时它工作正常但如果没有记录我得到错误: …