经过一个星期的学习,现将自己学习的心得和大家交流一下吧!
Sybase 12.5用Ado.Net访问总结 Sybase 12.5—ODBC驱动访问数据库:出现乱码。 Sybase 12.5—OLEDB驱动访问数据库:出现乱码。 Sybase 12.5—ODBC驱动访问数据库: 改变字符编码:iso_1改为:cp850 出现乱码出时Sybase 12.5 —Sql工具显示乱码 Sybase 12.5—OLEDB驱动访问数据库: 改变字符编码:iso_1改为:cp850 出现乱码出时Sybase 12.5 —Sql工具显示乱码 Sybase 12.5—Sybase System 11驱动访问数据库:用ODBC访问数据库不会出现乱码。 代码: private void Button1_Click(object sender, System.EventArgs e) { string StrCon="Driver={Sybase System 11};Srvr=server;database=Tax;uid=sa;pwd=;"; OdbcConnection Conn=new OdbcConnection(StrCon); OdbcDataAdapter Adapter=new OdbcDataAdapter("select * from BM_SZ where SZBM=‘" + this.TextBox2.Text + "‘",Conn); DataSet Set=new DataSet(); Adapter.Fill(Set); this.DataGrid1.DataSource=Set; this.DataGrid1.DataBind(); } //调用Sybase存储过程 private void Button2_Click(object sender, System.EventArgs e) { try { string StrCon="Driver={Sybase System 11};Srvr=server;database=Tax;uid=sa;pwd=;"; OdbcConnection Conn=new OdbcConnection(StrCon); Conn.Open(); OdbcParameter Parameter; OdbcCommand Comm=new OdbcCommand("{ CALL test(?) }",Conn); Comm.CommandType=CommandType.StoredProcedure; Parameter=Comm.Parameters.Add("@b",OdbcType.VarChar,10); Parameter.Direction=ParameterDirection.Input; Parameter.Value=this.TextBox1.Text; OdbcDataReader Reader=Comm.ExecuteReader(); this.DataGrid1.DataSource=Reader; this.DataGrid1 .DataBind(); } catch(Exception Err) { Response.Write(Err.Message); } } 1楼 那要是sybase11那,怎么通过ado.net或者oledb连接那? 2楼 OdbcConnection 就可以阿,要不然你用12.5的驱动程也是可以的,我以前就用过 3楼 gz 4楼 那用OdbcConnection连接sybase 12.5的时候该用什么连接字符串??用Driver={SYBASE ASE ODBC Driver};Srvr=server;database=Tax;uid=sa;pwd=;会出乱码!连接字符串中添加charset=iso_1后倒是不会出现乱码问题,但是在传中文的时候会报错!类似于这条语句:OdbcDataAdapter Adapter=new OdbcDataAdapter("select * from BM_SZ where SZBM=‘" + this.TextBox2.Text + "‘",Conn);其中this.TextBox2.Text是中文,它会报错:when String data Translation data trunctation" |
|