[英]Inserting a “.01” into database c#
我正在嘗試在C#的sql數據庫中將“ 0000.0000.0000.0001”插入varchar(50)中。 我不斷收到此錯誤:
解析查詢時出錯。 [令牌行號= 1,令牌行偏移量= 122,令牌錯誤= .0000]
我插入的樣子是:
string version = "0000.0000.0000.0001";
INSERT INTO [DBFileInfo] (DBFileInfoID,DatabaseType,Version, Description, CreationDate,ReleaseDate)
values(1,1,"+version.ToString()+
",`Default Beverage DB created by DbGen`,
CURRENT_TIMESTAMP,CURRENT_TIMESTAMP)";
該表的初始構建為:
string info = " CREATE TABLE [DBFileInfo]( [DBFileInfoID] INT NOT NULL,[DatabaseType] INT NOT NULL DEFAULT(-1),[Version] VARCHAR(50) NOT NULL, [Description] NVARCHAR(256) NOT NULL, [CreationDate] DATETIME,[ReleaseDate] DATETIME);";
有沒有解決的辦法,所以我可以插入“。” 毫無例外地進入它?
謝謝!
您需要將字符串放在單引號內:
string version = "0000.0000.0000.0001";
...values(1,1,'" + version + "','...
然而
我強烈建議您改用參數。 例如
string version = "0000.0000.0000.0001";
string sql = @"INSERT INTO [DBFileInfo] (DBFileInfoID,DatabaseType,Version, Description, CreationDate,ReleaseDate)
VALUES(1,1,@Version,'Default Beverage DB created by DbGen',CURRENT_TIMESTAMP,CURRENT_TIMESTAMP);";
using (var connection = new SqlConnection(yourConnectionString))
using (var command = new SqlCommand(sql, connection))
{
command.Parameters.AddWithValue("@Version", version);
connection.Open();
command.ExecuteNonQuery();
}
可能您錯過了引號,請嘗試:
... values(1,1,'"+version.ToString()+"','Default Beverage ..
雖然您可能正在使用參數
... values(1,1,@version,'Default Beverage ..
在這種情況下,您將必須使用參數@version
執行語句並將值傳遞給它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.