在.NET下用oledb方式访问数据库,通过oledbcommand传存储过程的名字调用,但是报错:没有发现的错误。
换成odbc方式访问,通过用obbccommand的commandtext写入{CALL SP_MYPROC}就可以调用存储过程了,如果传存储过程名称也不行。有高手对这方面比较熟悉吗,请教一下原因。
换成odbc方式访问,通过用obbccommand的commandtext写入{CALL SP_MYPROC}就可以调用存储过程了,如果传存储过程名称也不行。有高手对这方面比较熟悉吗,请教一下原因。
解决方案 »
- C# 怎么截取字符串中某个字符以前的一部分呢
- 用Oledb 创建Excel表单并导入数据,总有个单引号在前面.
- c#中如何使用TransparentBlt函数?
- 从数据库读出图片
- 急!知道DLL中函数名字的字符串,如何调用到DLL中对应的函数?
- c# 套接字编程的一个很奇怪的问题
- 我用一个DATASET 连接一个DATAGRID 我修改了DATAGRID 也就修改了 DATASET 需要加个什么属性
- 高手看看我得想法对不对!在 C# winform 中,我用一个 DataGrid 显示数据。。。。
- 寻求一个解决方案,急!!!
- NullReferenceException: 未将对象引用设置到对象的实例,本机上好好的,为什么服务器上就不行
- 急急啊 高手请进 数组问题,帮帮我啊!
- 今天给学生简单排课,想到用算法实现一下,很有趣!大家进来讨论!
OleDbConnection Conn = new OleDbConnection(strConn); try
{
OleDbCommand DSCmd = new OleDbCommand(commandText.ToString(),Conn);
Conn.Open(); DSCmd.CommandType = CommandType.Text;
DSCmd.Parameters.Add("@n16RoadNetID", OleDbType.SmallInt).Value = (Int16)objInfo.RoadNetID;
DSCmd.Parameters["@n16RoadNetID"].Direction = ParameterDirection.Input;DSCmd.Parameters.Add("@n16RoadID", OleDbType.SmallInt).Value = (Int16)objInfo.RoadID;
DSCmd.Parameters["@n16RoadID"].Direction = ParameterDirection.Input;DSCmd.Parameters.Add("@n16SubRoadID", OleDbType.SmallInt).Value = (Int16)objInfo.SubRoadID;
DSCmd.Parameters["@n16SubRoadID"].Direction = ParameterDirection.Input;DSCmd.Parameters.Add("@n16StationID", OleDbType.SmallInt).Value = (Int16)objInfo.StationID;
DSCmd.Parameters["@n16StationID"].Direction = ParameterDirection.Input;DSCmd.Parameters.Add("@dtmOpTimeStamp", OleDbType.DBTimeStamp).Value = (DateTime)objInfo.OpTimeStamp;
DSCmd.Parameters["@dtmOpTimeStamp"].Direction = ParameterDirection.Input;DSCmd.Parameters.Add("@n32CardNo", OleDbType.Integer).Value = (Int32)objInfo.CardNo;
DSCmd.Parameters["@n32CardNo"].Direction = ParameterDirection.Input;DSCmd.Parameters.Add("@n64CardID", OleDbType.Integer).Value = (Int32)objInfo.CardID;
DSCmd.Parameters["@n64CardID"].Direction = ParameterDirection.Input;DSCmd.Parameters.Add("@n32BoxNo", OleDbType.Integer).Value = (Int32)objInfo.BoxNo;
DSCmd.Parameters["@n32BoxNo"].Direction = ParameterDirection.Input;DSCmd.Parameters.Add("@n32CardCount", OleDbType.Integer).Value = (Int32)objInfo.CardCount;
DSCmd.Parameters["@n32CardCount"].Direction = ParameterDirection.Input;
DSCmd.Parameters.Add("@strOprSys", OleDbType.VarChar).Value = objInfo.OprSys;
DSCmd.Parameters["@strOprSys"].Direction = ParameterDirection.Input;
DSCmd.Parameters.Add("@bytUpLoaded", OleDbType.TinyInt).Value = (Byte)objInfo.UpLoaded;
DSCmd.Parameters["@bytUpLoaded"].Direction = ParameterDirection.Input;
OleDbDataReader dataReader1 = DSCmd.ExecuteReader();
dataReader1.Close();
result = 1;
}
catch (Exception e)
{
Conn.Close();
throw e;
}
finally
{
Conn.Close();
}
return result;