当我在sql server中的表中插入文本时,行没有显示文本并显示??????
我知道使用打击代码可以纠正它:
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);
我该怎么办?
感谢
答案 0 :(得分:5)
尝试使用SqlDbType.NVarChar
作为@CityName
的类型,而不是您当前使用的varchar。
\/
sqlcmd.Parameters.Add("@CityName", SqlDbType.NVarChar);
另外,像Prasanna建议的那样,使用
sqlcmd.Parameters.AddWithValue("@CityName", cityName);
在你的情况下,可能无需指定类型即可。
答案 1 :(得分:1)
应该是:
sqlcmd.Parameters.Add("@CityName", SqlDbType.VarChar);
而不是
sqlcmd.Parameters.Add("@CityName", SqlDbType.Int);
<强>更新强>
使用SqlDbType.NVarChar
然后
答案 2 :(得分:1)
使用 command.Parameters.AddWithValue()代替command.Parameters.Add()
答案 3 :(得分: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);
答案 4 :(得分: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);
答案 5 :(得分:0)
参数类型是否未反转?
SqlDbType.VarChar应该是“@CityName” 和另外2个SqlDbType.Int?
答案 6 :(得分: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);
答案 7 :(得分:0)
请编辑你的UTF-8所在的连接字符串和SQL数据库端你必须声明'nvarchar'而不是'varchar':
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;CharSet=utf8;