Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在oracle数据库中存储unicode字符_C#_Database_Visual Studio_Unicode_Oracle10g - Fatal编程技术网

C# 如何在oracle数据库中存储unicode字符

C# 如何在oracle数据库中存储unicode字符,c#,database,visual-studio,unicode,oracle10g,C#,Database,Visual Studio,Unicode,Oracle10g,我正在尝试将Unicode数据(印地语字符)存储在oracle数据库中,而不是存储在印地语字符中,它以这种格式存储 我使用的是Oracle10g,我已经将数据库字符集设置为AL32UTF8 我的表格脚本 create table UTF ( ENGLISH_NAME VARCHAR2(10), HINDI_NAME NVARCHAR2(10) ) 我正在使用VisualStudio13 我正在使用谷歌API进行翻译 <script> function OnLoad() {

我正在尝试将Unicode数据(印地语字符)存储在oracle数据库中,而不是存储在印地语字符中,它以这种格式存储

我使用的是Oracle10g,我已经将数据库字符集设置为AL32UTF8 我的表格脚本

create table UTF
(
 ENGLISH_NAME VARCHAR2(10),
 HINDI_NAME   NVARCHAR2(10)
)
我正在使用VisualStudio13

我正在使用谷歌API进行翻译

<script>
function OnLoad() {
    var options = {
        sourceLanguage:
        google.elements.transliteration.LanguageCode.ENGLISH,
        destinationLanguage:
        [google.elements.transliteration.LanguageCode.HINDI],
        shortcutKey: 'ctrl+g',
        transliterationEnabled: true
    };

    var control = new google.elements.transliteration.TransliterationControl(options);
    control.makeTransliteratable(["txtHindi"]);
    var keyVal = 32; // Space key
    $("#txtEnglish").on('keydown', function (event) {
        if (event.keyCode === 32) {
            var engText = $("#txtEnglish").val() + " ";
            var engTextArray = engText.split(" ");
            $("#txtHindi").val($("#txtHindi").val() + engTextArray[engTextArray.length - 2]);

            document.getElementById("txtHindi").focus();
            $("#txtHindi").trigger({
                type: 'keypress', keyCode: keyVal, which: keyVal, charCode: keyVal
            });
        }
    });

    $("#txtHindi").bind("keyup", function (event) {
        setTimeout(function () { $("#txtEnglish").val($("#txtEnglish").val() + " "); document.getElementById("txtEnglish").focus() }, 0);
    });
} //end onLoad function

google.setOnLoadCallback(OnLoad);

将您的
查询更改为此(请勿更改,此部分仅用于知识目的):

您需要使用字母N作为Unicode字符串常量的前缀。如果没有字母N前缀,字符串将转换为数据库的默认代码页。此默认代码页可能无法识别某些字符

但是 (你需要做的实际部分)

使用参数化SQL查询


将您的
查询更改为此(请勿更改,此部分仅用于知识目的):

您需要使用字母N作为Unicode字符串常量的前缀。如果没有字母N前缀,字符串将转换为数据库的默认代码页。此默认代码页可能无法识别某些字符

但是 (你需要做的实际部分)

使用参数化SQL查询


我们可以看到你的
插入
代码吗?我正在使用谷歌API进行英语到印地语的转换。你有一些代码是为了将数据输入数据库而编写的吗?我对此并不熟悉,你能在实际插入行时显示部分吗,你的sql查询?你需要这个,如果没有:--您将需要Oracle本机客户端,并且必须设置连接。你熟悉TSNNames.ora吗?我们可以看看你的
insert
代码吗?我正在使用谷歌API进行英语到印地语的转换。你有一些你编写的代码来将数据输入数据库吗?我对此并不熟悉,你能不能在你实际插入行时显示部分,你的sql查询?你需要这个,如果没有:--您将需要Oracle本机客户端,并且必须设置连接。您熟悉TSNNames.ora吗?它不支持命名参数“OleDB无法识别命名参数,但它显然能够识别您试图传递的命名参数,因此您可以充分利用它,并使SQL具有语义,更易于理解。只要它们以相同的顺序传递,它将接受一个变量作为命名参数。“,ref:,并且不支持命名参数”OleDB不识别命名参数,但它显然识别您试图传递命名参数,因此,您可以充分利用这一点,并使SQL具有语义,更易于理解。只要它们以相同的顺序传递,它就会接受一个变量作为命名参数。“,ref:。
public int insert(person d)
    {
        String Query;
        string ConnStr = new ConnectionClass().ConnStr();
        using (OleDbConnection conn = new OleDbConnection(ConnStr))
        {
            Query = "insert into UTF(ENGLISH_NAME, HINDI_NAME) VALUES('" + d.ENGLISH_NAME + "','" + d.HINDI_NAME + "')";
            OleDbCommand cmd = new OleDbCommand(Query, conn);
            conn.Open();
            cmd.ExecuteNonQuery();
            conn.Close();

        }
        return 1;
    }
Query = "insert into UTF(ENGLISH_NAME, HINDI_NAME) VALUES('" + d.ENGLISH_NAME + "',N'" + d.HINDI_NAME + "')";
Query = "insert into UTF(ENGLISH_NAME, HINDI_NAME) VALUES( @ENGLISH_NAME, @HINDI_NAME)";
cmd.Parameters.Add(new OleDbParameter("@ENGLISH_NAME",d.ENGLISH_NAME));
cmd.Parameters.Add(new OleDbParameter("@HINDI_NAME",d.HINDI_NAME));