• C#调用ODBC连接SQL Server数据库的存储过程


    OdbcConnection con = new OdbcConnection("Driver={SQL Server};server=PC-200201070359;uid=sa;pwd=123;database=test;");
                try
    C#调用ODBC连接SQL <wbr>Server数据库的存储过程            {
                    con.Open();
                    OdbcCommand command = new OdbcCommand();
                    command.Connection = con;
                    command.CommandType = CommandType.StoredProcedure;
                    //command.CommandText = "MaxAge";   //存储过程名称 


                    command.CommandText = "{call MaxAge (?, ?,?)}";
                    //输入参数
                    OdbcParameter para = new OdbcParameter("@Name1", OdbcType.NVarChar, 10);
                    para.Value = "James";
                    command.Parameters.Add(para);

                    //输入参数
                    para = new OdbcParameter("@Name2", OdbcType.NVarChar, 10);
                    para.Value = "Mary";
                    command.Parameters.Add(para);

                    //输出参数(参数名称大小写无关)
                    para = new OdbcParameter("@MaxAge", OdbcType.Int, 4);
                    para.Direction = ParameterDirection.Output;
                    command.Parameters.Add(para);


                    int i = command.ExecuteNonQuery();  //执行成功返回-1

                    string k = command.Parameters["@Maxage"].Value.ToString();
                }
                catch (Exception ex)
    C#调用ODBC连接SQL <wbr>Server数据库的存储过程            {

                    //throw;
                }

    可能遇到的问题:

    使用ODBC方法,只能方法时会报这样的异常:ERROR [42000] [Microsoft][ODBC SQL Server Driver][SQL Server]过程 'MaxAge' 需要参数 '@Name1',但未提供该参数。

    解决办法:将command.CommandText = "MaxAge";   //存储过程名称 改为 command.CommandText = "{call MaxAge (?, ?,?)}";即可,目前原因未知;前面的方法在sqlclient中是可用的

    更多可参看链接:http://www.cnblogs.com/gossip/archive/2009/06/15/1503884.html

  • 相关阅读:
    变量未定义
    国产银河麒麟Kylin V10操作系统-如何将应用程序固定到任务栏方便启动
    国产银河麒麟Kylin V10操作系统-如何配置Win+E快捷键打开“我的电脑”
    国产银河麒麟Kylin V10操作系统
    微信小程序中的细节
    vue + element初始化项目--代码初始化
    vscode, eslint, prettier, vetur冲突及解决
    VS Code 中 Vetur、prettier、ESLint 使用
    方法合集
    MedicalViewer 事件成员
  • 原文地址:https://www.cnblogs.com/yizitrd/p/10643000.html
Copyright © 2020-2023  润新知