2011-02-28 69 views
1

问:有关参数化查询

请,我想问一下,如何执行使用Informix数据库一个参数化查询的查询(select语句),一个简单的例子。 在此先感谢。

编辑

我使用

IfxConnectionIfxCommand

回答

2

.NET Framework数据提供OLE DB

这是包装的OleDbConnection类只是一个连接字符串,该样本调用底层的OLEDB提供程序。查看相应的OLE DB提供程序以获取更多连接字符串以用于此类。

Provider=Ifxoledbc;Data [email protected];User ID=myUsername;Password=myPassword; 

public void CreateMyOleDbCommand(OleDbConnection connection, 
    string queryString, OleDbParameter[] parameters) 
{ 
    OleDbCommand command = new OleDbCommand(queryString, connection); 
    command.CommandText = 
     "SELECT CustomerID, CompanyName FROM Customers WHERE Country = ? AND City = ?"; 
    command.Parameters.Add(parameters); 

    for (int j=0; j<parameters.Length; j++) 
    { 
     command.Parameters.Add(parameters[j]) ; 
    } 

    string message = ""; 
    for (int i = 0; i < command.Parameters.Count; i++) 
    { 
     message += command.Parameters[i].ToString() + "\n"; 
    } 
    Console.WriteLine(message); 
} 

希望这将有助于

+0

非常感谢,但是,当我使用'IfxConnection','IfxCommand',如果u可以使用这些类代替 – 2011-02-28 12:04:24

+0

澄清相同的例子,我面临的问题很多,这是通用的SQL .net框架的ole db命令。你可以参考http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbcommand(v=VS.90).aspx – 2011-02-28 13:32:36

+2

只有在oledbcommand中与其他命令不同的id是你需要通过 ?作为参数,而不是其他的我们使用@param。另外如果你需要一些通用的方法。您可以查看MSDN中的DbFactoryProvider类 – 2011-02-28 13:35:48