我正在使用以下代码查询 SQL Server 数据库,并得到一些意想不到的结果。我的一些角色正在转换为“?” 人物。我用来查询的代码是:
var theConnectionString = @"Data Source=my-sql-server;Initial Catalog=My_Database;Integrated Security=True";
var theQuery = @"select '❤' as panda";
var dataSet = new DataSet();
using (SqlConnection connection = new SqlConnection(theConnectionString))
{
connection.Open();
var command = new SqlCommand(theQuery, connection);
foreach (var param in parameters.Keys)
{
command.Parameters.AddWithValue(param, parameters[param]);
}
SqlDataAdapter adapter = new SqlDataAdapter(command);
adapter.Fill(dataSet);
}
return dataSet;
这会产生 1 列和 1 行的数据集,值为“?” (字符代码),而不是 10084。
交互式调试向我展示了这些值已正确编码theQuery
。