2012-09-19 66 views
2

當我插入文本到SQL Server中的表,行沒有顯示文本和顯示??????將文本插入SQL表

我知道與打擊代碼可以糾正:

INSERT [dbo].[TableName] (CityName,latitude,longitude) 
VALUES (N'txt',34,56) 

,但我用這個代碼插入:

INSERT INTO [dbo].[TableName] 
VALUES (@CityName,@latitude,@longitude) 

sqlcmd.Parameters.Add("@CityName",SqlDbType.VarChar); 
sqlcmd.Parameters.Add("@latitude", SqlDbType.Int); 
sqlcmd.Parameters.Add("@longitude", SqlDbType.Int); 

我可以做什麼?

感謝

+1

爲什麼你使用CityName作爲'Int'? – Champ

+0

爲什麼sqlcmd.Parameters.Add( 「@ CITYNAME」,SqlDbType.Int);是Int? –

+0

沒有。我有一個錯誤,它爲varchar – atabrizi

回答

5

嘗試使用SqlDbType.NVarChar類型爲您@CityName,而不是您目前使用VARCHAR。

          \/ 
sqlcmd.Parameters.Add("@CityName", SqlDbType.NVarChar); 

此外,像人員Prasanna表明,使用

sqlcmd.Parameters.AddWithValue("@CityName", cityName); 

這將無需指定類型,你的情況可能工作。

+0

我使用它。我編輯我的問題。請閱讀 – atabrizi

+0

@atabrizi否 - 您使用VarChar。這使用NVarChar。 –

+0

謝謝。它的工作原理 – atabrizi

0
insert into [dbo].[TableName] 
values(@CityName,@latitude,@longitude) 

sqlcmd.Parameters.Add("@CityName", SqlDbType.Int); <-- CityName (int) :) 
sqlcmd.Parameters.Add("@latitude", SqlDbType.VarChar); 
sqlcmd.Parameters.Add("@longitude", SqlDbType.VarChar); 
0

試試這個

insert into [dbo].[TableName] 
values(@CityName,@latitude,@longitude) 

// implicit conversion of the value 
sqlcmd.Parameters.AddWithValue("@CityName", 'txt'); 
sqlcmd.Parameters.AddWithValue("@latitude", 34); 
sqlcmd.Parameters.AddWithValue("@longitude", 36); 

OR

sqlcmd.Parameters.Add("@CityName", SqlDbType.VarChar); 
sqlcmd.Parameters.Add("@latitude", SqlDbType.Int); 
sqlcmd.Parameters.Add("@longitude", SqlDbType.Int); 
1

它應該是:

sqlcmd.Parameters.Add("@CityName", SqlDbType.VarChar); 

和不

sqlcmd.Parameters.Add("@CityName", SqlDbType.Int); 

更新

使用SqlDbType.NVarChar然後

+0

是的。我編輯它。但我的問題不是這樣。我不知道如何在第一個代碼中使用'N'代碼 – atabrizi

0

你的參數類型不反轉?

應通過SqlDbType.VarChar 和其他2 SqlDbType.Int「@CityName」嗎?

1

使用command.Parameters.AddWithValue()代替command.Parameters.Add()

0

請插入一條記錄到下表中使用VarChar代替int,因爲CityName不是int

INSERT INTO [dbo].[TableName] 
VALUES (@CityName,@latitude,@longitude) 

sqlcmd.Parameters.Add("@CityName",SqlDbType.VarChar); 
// Replace of 
sqlcmd.Parameters.Add("@CityName", SqlDbType.Int); 

sqlcmd.Parameters.Add("@latitude", SqlDbType.Int); 
sqlcmd.Parameters.Add("@longitude", SqlDbType.Int); 
0

請編輯您的連接字符串中的UTF-8是存在的,SQL數據庫端,你必須聲明'nvarchar'而不是'varchar':

Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;CharSet=utf8; 
+0

有錯誤:「不支持關鍵字字符集」 – atabrizi