我試圖讓我的代碼儘可能小巧。SQL Server日期時間接受NULL
使用Microsoft SQL Server,.NET 2.0
我在我的數據庫,接受空值
LeaseExpiry(datetime, null)
我搶的文本框的值,並將其轉換爲datetime日期字段。
DateTime leaseExpiry = Convert.ToDateTime(tbLeaseExpiry.Text);
INSERT_record(leaseExpiry);
我遇到的問題是如果提交表單並且文本框爲空。我收到此錯誤:
字符串未被識別爲有效的日期時間。
如何設置我的代碼了,這樣如果文本框爲空,排在數據庫創建NULL
?
我已經試過初始化我的變量設置爲NULL,但得到一個錯誤在Visual Studio
DateTime leaseExpiry = null;
無法將null轉換爲「System.DateTime的」,因爲它是一個非空的值類型。
這裏的數據訪問層是否有幫助
public string INSERT_record(DateTime leaseExpiry)
{
//Connect to the database and insert a new record
string cnn = ConfigurationManager.ConnectionStrings[connname].ConnectionString;
using (SqlConnection connection = new SqlConnection(cnn))
{
string SQL = string.Empty;
SQL = "INSERT INTO [" + dbname + "].[dbo].[" + tblAllProperties + "] ([LeaseExpiry]) VALUES (@leaseExpiry);
using (SqlCommand command = new SqlCommand(SQL, connection))
{
command.Parameters.Add("@leaseExpiry", SqlDbType.DateTime);
command.Parameters["@leaseExpiry"].Value = leaseExpiry;
}
try
{
connection.Open();
command.ExecuteNonQuery();
return "Success";
}
catch (Exception ex)
{
return ex.Message;
}
}
}
謝謝
應拼寫'leaseExpiry'(不'leaseExpirey') - 你在你的代碼,這是非常令人困惑的有兩個版本。我一直把它固定爲'Expiry'。 –