汉字在VB和oracle 以及C#和oracle之间乱码问题
来源:互联网 发布:网络用户行为研究 编辑:程序博客网 时间:2024/06/05 23:58
oracle 数据库用字符集AL32UTF8,VB程序通过ADODB连接数据库。存储的汉字在数据库里面是乱码。但是通
过VB程序解读出来的汉字确是正确的。换成C#程序,连接oracle数据库,无论是用ADO.NET还是,oracleclient。
读取的汉字都是乱码。后来在网上看到C#也可以用ADODB存取数据库。在C#程序中改为ADODB访问oracle。这
下汉字终于可以正常显示了。后来发现ADO.NET和oracleclient是微软的,ADODB是PHP里面常用的。不是同一
家公司。要用ADODB只需要在工程的引用中添加C:\Program Files\Common Files\System\ado\msado15.dll,
System.Reflection.Missing vtmissing = System.Reflection.Missing.Value; ADODB.Recordset Rs = new ADODB.Recordset(); string sSql = " SELECT ROWNUM,a.user_id as user_id,b.name as name,a.lot_no as lot_no,a.update_time as update_time FROM FCB_UNLOCK_LOG a,User_List b " +" WHERE a.user_id=b.user_id(+) " +" ORDER BY a.update_time DESC "; string conn = @"Driver={Microsoft ODBC for Oracle};Server=test;UID=test;PWD=test;"; Rs.Open(sSql, conn, ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockOptimistic, (int)ADODB.CommandTypeEnum.adCmdText); DataTable dt = new DataTable(); dt.Columns.Add("SN", System.Type.GetType("System.String")); dt.Columns.Add("Employee ID", System.Type.GetType("System.String")); dt.Columns.Add("Name", System.Type.GetType("System.String")); dt.Columns.Add(" Lot# ", System.Type.GetType("System.String")); dt.Columns.Add(" Datime Unlock ", System.Type.GetType("System.String")); if (!Rs.EOF && !Rs.BOF) { Rs.MoveFirst(); while (!Rs.EOF) { DataRow row=dt.NewRow(); row[0] = Rs.Fields["ROWNUM"].Value; row[1] = Rs.Fields["user_id"].Value; row[2] = Rs.Fields["name"].Value; row[3] = Rs.Fields["lot_no"].Value; row[4] = Rs.Fields["update_time"].Value; Rs.MoveNext(); dt.Rows.Add(row); } } Rs.Close();
同时VB生成的DLL,在C#程序中也可以调用。比如生成的vb DLL工程为Project1,里面有函数test().在C#
中添加引用Project1.DLL
Project1.Class1 vbpassword = new Project1.Class1();
vbpassword.test();
0 0
- 汉字在VB和oracle 以及C#和oracle之间乱码问题
- oracle 汉字乱码问题
- Oracle汉字乱码问题原因及解决方法
- Oracle汉字乱码问题原因及解决方法
- Oracle汉字乱码问题原因及解决方法
- Oracle汉字乱码问题原因及解决方法
- oracle plsql表名字汉字乱码问题
- 中文在C/C++中的处理和汉字乱码问题
- 中文在C/C++中的处理和汉字乱码问题
- 中文在C/C++中的处理和汉字乱码问题
- 中文在C/C++中的处理和汉字乱码问题
- 中文在C/C++中的处理和汉字乱码问题
- 中文在C/C++中的处理和汉字乱码问题
- 中文在C/C++中的处理和汉字乱码问题
- oracle安装界面乱码以及不能在开始菜单和桌面创建菜单项解决方案
- oracle和SQL SERVER以及DB2之间的区别
- oracle用户和表空间以及表之间的关系
- QString和char*的汉字乱码问题
- Matlab滤波器设计
- 2017.04.13 工作记录
- 关于Android Service真正的完全详解,你需要知道的一切
- CodeForces
- Improtance of Knowledge
- 汉字在VB和oracle 以及C#和oracle之间乱码问题
- matlab倒计时启动录音
- bzoj 1483: [HNOI2009]梦幻布丁 (set)
- [EXP]修改WinS2012密码缓存在内存
- 分享45个android实例源码,很好很强大
- JVM性能调优实战2
- navigationBar.translucent
- 【Android基础学习】Android使用fitsSystemWindows属性实现–状态栏【status_bar】各版本适配方案
- html多文件【打包】异步上传