我正在尝试使用oracle数据库来插入并选择希伯来字母 并且效果不佳。
我试过
Insert into mytable values ('היי');
结果是???而不是היי
有人可以帮助我吗
编辑:
现在我从DBA询问希伯来语选项之后我可以用sqlplus用希伯来语写一下
但现在从我的项目中它仍然写着???
我的代码是
OleDbConnection conn = Connect();
conn.Open();
OleDbCommand com = new OleDbCommand("Insert into mytable values ('היי')", conn);
com.ExecuteNonQuery();
仍然结果是???
答案 0 :(得分:1)
我无法对此进行测试,因为我对您的数据库一无所知(甚至不知道您的列名),但您应该使用参数执行该命令:
var testString = "היי"; // Do be aware that Visual Studio displays Hebrew text right-to-left, so the actual string is reversed from what you see.
using (OleDbConnection conn = Connect())
{
conn.Open();
using (OleDbCommand com = conn.CreateCommand())
{
// OleDbCommand com = new OleDbCommand("Insert into mytable values ('היי')", conn);
com.CommandText = "Insert into mytable values (?)";
com.Parameters.Add(new OleDbParameter { OleDbType = OleDbType.VarWChar }).Value = testString;
com.ExecuteNonQuery();
}
}
另外,请不要忘记通过using
声明处理您的一次性用品。
相关地,here是使用参数化查询修复与OracleCommand
类似问题的报告。