我用odbc来联接SQL数据库,调用存储过程System.Data.Odbc.OdbcConnection odbccon = new OdbcConnection();
odbccon.ConnectionString = "Dsn=yp;Pwd=sa;uid=sa";
System.Data.Odbc.OdbcDataAdapter odbcda =new OdbcDataAdapter("Search_PartsInfo ",odbccon);
odbcda.SelectCommand.CommandType =System.Data.CommandType.StoredProcedure; odbcda.SelectCommand.Parameters.Add("@barcode_code",OdbcType.VarChar,22);
odbcda.SelectCommand.Parameters.Add("@LineNum",OdbcType.SmallInt); odbcda.SelectCommand.Parameters["@barcode_code"].Value = this.textBox1.Text.Trim();
odbcda.SelectCommand.Parameters["@LineNum"].Direction= System.Data.ParameterDirection.Output; System.Data.DataSet ds=new DataSet(); try
{
MessageBox.Show(odbcda.SelectCommand.Parameters["@barcode_code"].Value.ToString());
odbcda.Fill(ds,"t1");
MessageBox.Show(odbcda.SelectCommand.Parameters["@LineNum"].Value.ToString());
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
this.dataGrid1.DataSource = ds.Tables["t1"].DefaultView;
this.dataGrid1.SetDataBinding(ds,"t1");
}运行时总是提示,没有提供参数@barcode_code ,Search_PartsInfo是我的存储过程名字我在网上查到odbc使用存储过程时,如果是sybase,有两个参数,则需要
这样写commandtext new OdbcDataAdapter("Search_PartsInfo ?,?",odbccon);
如果是db2数据库,则这样写new OdbcDataAdapter("{Search_PartsInfo (?,?)}",odbccon);请问高手请教在sql中该怎么写?!
odbccon.ConnectionString = "Dsn=yp;Pwd=sa;uid=sa";
System.Data.Odbc.OdbcDataAdapter odbcda =new OdbcDataAdapter("Search_PartsInfo ",odbccon);
odbcda.SelectCommand.CommandType =System.Data.CommandType.StoredProcedure; odbcda.SelectCommand.Parameters.Add("@barcode_code",OdbcType.VarChar,22);
odbcda.SelectCommand.Parameters.Add("@LineNum",OdbcType.SmallInt); odbcda.SelectCommand.Parameters["@barcode_code"].Value = this.textBox1.Text.Trim();
odbcda.SelectCommand.Parameters["@LineNum"].Direction= System.Data.ParameterDirection.Output; System.Data.DataSet ds=new DataSet(); try
{
MessageBox.Show(odbcda.SelectCommand.Parameters["@barcode_code"].Value.ToString());
odbcda.Fill(ds,"t1");
MessageBox.Show(odbcda.SelectCommand.Parameters["@LineNum"].Value.ToString());
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
this.dataGrid1.DataSource = ds.Tables["t1"].DefaultView;
this.dataGrid1.SetDataBinding(ds,"t1");
}运行时总是提示,没有提供参数@barcode_code ,Search_PartsInfo是我的存储过程名字我在网上查到odbc使用存储过程时,如果是sybase,有两个参数,则需要
这样写commandtext new OdbcDataAdapter("Search_PartsInfo ?,?",odbccon);
如果是db2数据库,则这样写new OdbcDataAdapter("{Search_PartsInfo (?,?)}",odbccon);请问高手请教在sql中该怎么写?!
解决方案 »
- 如何实现winform下gridview 里通过滚轮上下选择记录?
- c# winform 一个关于textbox输入的问题
- byte[]转换为string,然后又将string转换byte[]数据怎么会少了一位?急..
- 将按钮循环生成圆形排列、求指正
- 在一个目录中有个word文件,例如:E:\test.docx,现在我要在c#中删出这个文件,而这个文件正在运行,还有其他word文件也正在运行,不能关闭其他的word文件???
- TreeView css
- 读取txt格式文件内容,CPU占用率100%。请问如何解决?
- 求助!关于Windows Form中的控件不能保存布局的问题!
- HttpWebRequest 获取 ajax网页
- 哪个大侠 .NETframework 3.5 的框架
- 菜鸟50分求教cookie问题!
- 这个论坛没有人能解决吗?“c#中添加连接时,数据源里面没有odbc可选的!!!! ”
该这样写
System.Data.Odbc.OdbcDataAdapter odbcda =new OdbcDataAdapter("{ call Search_PartsInfo (?,?)}",odbccon);回答楼上的,主要是因为,我们用odbc连接sybase 的时候,返回的数据,只要是中文的,都是乱码, 想看下是odbc的问题,还是字符集的问题…………;)