Asp.net Web表单中的土耳其字符查询

时间:2016-07-15 14:43:22

标签: asp.net oracle10g locale turkish

我有一个asp.net Web表单应用程序,用于在oracle 10g中查询数据。在目标表中,NAMESURNAME列存在,它包含NAME +“”+ SURNAME结构。我在下面有两个不同的问题:

查询1:

select 
    NAMESURNAME, PERSONELID 
from 
    personeliliski2015 t 
where 
    nls_upper(t.NAMESURNAME, 'NLS_SORT = XTURKISH') like nls_upper('%OSMAN%', 'NAMESURNAME = XTURKISH')

查询2:

select 
    NAMESURNAME, PERSONELID 
from 
    personeliliski2015 t 
where 
    nls_upper(t.NAMESURNAME, 'NLS_SORT = XTURKISH') like nls_upper('%SÖZGEN%', 'NAMESURNAME = XTURKISH')

如果您发现查询2包含土耳其字符,则“Ö”。

这是asp.net Web表单应用程序的功能:

public void VeriGetir(DataTable dt, string sOracle)
{
    OracleDataAdapter da = null;

    try
    {

        dt.Clear();
        da = new OracleDataAdapter(sOracle, cn);
        OpenConnection();

        if (IsTransactional)
            da.SelectCommand.Transaction = tr;

        da.Fill(dt);
    }
    catch (Exception e)
    {
        throw HataOlustur(e, sOracle);
    }
    finally
    {
        CloseConnection();
    }
}

查询1返回许多结果(如预期的那样),但查询2不返回任何结果。但是有许多记录表明NAMESURNAME包含“SÖZGEN”。这有什么问题?提前谢谢。

0 个答案:

没有答案