首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我是否可以指出我的MySQL参数应该放在哪里,而不仅仅是拥有一个?标记位置-使用ODBC连接器和.NET

我是否可以指出我的MySQL参数应该放在哪里,而不仅仅是拥有一个?标记位置-使用ODBC连接器和.NET
EN

Stack Overflow用户
提问于 2010-03-22 18:45:32
回答 1查看 568关注 0票数 0

我有一段代码,可以通过ODBC连接使用参数将信息传递给MySQL命令。使用字符串surnameToLookFor传入的显示姓氏的示例代码:

代码语言:javascript
运行
复制
using (OdbcConnection DbConn = new OdbcConnection( connectToDB ))
{

   OdbcDataAdapter cmd = new OdbcDataAdapter(
   "SELECT Firstname, Address, Postcode FROM customers WHERE Surname = ?", DbConn);

    OdbcParameter odbcParam = new OdbcParameter("surname", surnameToLookFor);
    cmd.SelectCommand.Parameters.Add(odbcParam);

    cmd.Fill(dsCustomers, "customers");
}

我想知道的是,我是否可以指出我的参数应该放在哪里,而不仅仅是有一个?标记位置-因为我可以看到,如果有多个参数被替换,这将变得非常难以调试。

我想以如下方式为参数提供一个名称:

代码语言:javascript
运行
复制
SELECT Firstname, Address, Postcode FROM customers WHERE Surname = ?surname ", 

当我尝试这个的时候,它就卡住了。

下面的代码

代码语言:javascript
运行
复制
    public System.Data.DataSet Customer_Open(string sConnString, long ld) 
    { 
        using (MySqlConnection oConn = new MySqlConnection(sConnString)) 
        { 
            oConn.Open(); 

            MySqlCommand oCommand = oConn.CreateCommand(); 
            oCommand.CommandText = "select * from cust_customer where id=?id"; 

            MySqlParameter oParam = oCommand.Parameters.Add("?id", MySqlDbType.Int32); 
            oParam.Value = ld; 

            oCommand.Connection = oConn; 
            DataSet oDataSet = new DataSet(); 
            MySqlDataAdapter oAdapter = new MySqlDataAdapter(); 
            oAdapter.SelectCommand = oCommand; 
            oAdapter.Fill(oDataSet); 
            oConn.Close(); 
            return oDataSet; 
        } 
    }

来自http://www.programmingado.net/a-389/MySQL-NET-parameters-in-query.aspx,并包含以下片段

代码语言:javascript
运行
复制
where id=?id

这将是最理想的。

这是不是只能通过.Net连接器而不是ODBC获得?如果可以使用ODBC,我需要如何更改代码片段才能实现这一点?

EN

Stack Overflow用户

回答已采纳

发布于 2010-03-22 18:55:12

如果ODBC有这个功能就好了,但恐怕它没有。我在这里说的是C应用编程接口本身--我不知道是否有C#层添加了它。不过,编写自己的包装器函数来实现它的一个简单版本并不太难。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2491517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档