2010-07-01 32 views
0

這是一個非常奇怪的情況,我似乎無法找出問題所在。asp.net sqlcommand不應該這樣做 - 調試幫助req

我有一個簡單的ASP文本框和按鈕,點擊按鈕我有一個簡單的sqlconnection /命令例程基於文本框的文本值執行一個簡單的數據庫更新。

代碼:

Using myConnection As SqlConnection = New sqlConnection(ConfigurationManager.ConnectionStrings("sqldbconn").ConnectionString) 
    myConnection.Open() 
    Dim strSQL As String = "insert into users(name) select @name" 
    Dim myCommand As New Data.SqlClient.SqlCommand(strSQL, myConnection) 
    myCommand.CommandType = Data.CommandType.Text 
    myCommand.Parameters.Add(create_Parameter("@name", Data.SqlDbType.VarChar, 50, Data.ParameterDirection.Input, txName.Text)) 
    myCommand.ExecuteNonQuery() 
    myConnection.Close() 
End Using 

create_Parameter只是一個簡單的測試函數執行的2-3線一般需要創建一個參數對象。

我遇到的問題是,添加到數據庫的值始終是逗號,後面跟着文本框中給出的文本。

我已經執行了ExecuteNonQuery調用之前的response.write,以檢查參數值和CommandText,這很好,並且如預期的那樣。如果我將期望的內容複製到管理工作室查詢窗口中,它可以正常工作..用戶是一個帶有varchar列的簡單表,沒有觸發器或約束等。除了我所展示的內容外,ASP代碼中沒有其他子類。

所以,現在我卡住了,還有什麼可以解決的地方/爲什麼這個逗號被添加到我的插入語句?

乾杯!

+1

請發表您的'create_Parameter'。 – Oded 2010-07-01 10:02:48

回答

0

也許無關,與你的問題,但我通常爾德寫這樣的插件:

INSERT INTO users (name) 
VALUES @name 
+0

我已經準備好說我最初是這樣做的,但爲了看看會發生什麼而改變了它......改變了它,並且問題消失了!不知道爲什麼它會影響任何東西,但謝謝你:) – 2010-07-01 10:14:52