2014-05-12 62 views
0

我有一個SQL語句爲我的網站運行,它將數據插入到訪問數據庫中。如果日期文本框之一包含空格,插入期間是否有辦法替換空格「?」我需要這樣做,因爲如果其中一列中有空格,它會拋出我的日期查詢。SQL插入和替換?

INSERT INTO tblOpen (DateColumn1, DateColumn2) Values (@Value1, @Value2) 
+1

我需要問你。你是否在字符串數據庫字段中存儲日期值? – Steve

+0

它只是一個文本數據類型列 – user1342164

+4

這裏是你的問題的根源。日期應該作爲日期存儲,而不是字符串。那麼你會避免在查詢日期時出現任何問題。 – Steve

回答

2

您應該爲您的DateColumn使用'datetime'類型。它解決了你所有的問題。適當的領域使用適當的變量是很好的。

1

如果你的意思是標題和結尾的空格,然後:

myString = myString.Trim() 
在vb.net代碼

將被罰款。儘管我會遵循​​Steve的建議並轉換到日期。

1

由於問題是關於替代,您可以使用替換()

INSERT INTO tblOpen (DateColumn1, DateColumn2) 
    Values (REPLACE(@Value1, ' ', ''), @Value2) 

或LTRIM()和RTRIM()

INSERT INTO tblOpen (DateColumn1, DateColumn2) 
    Values (LTRIM(RTRIM(@Value1)), @Value2) 

但是,如果數據類型是一個日期,然後是有道理的使用

DateTime d = Convert.ToDateTime(TextBox1.Text); 
SqlParameter p = command.Parameters.Add("@Value1", System.Data.SqlDbType.DateTime); 
p.Value = d;