2013-03-05 59 views
1

我想在C#中運行插入查詢,它具有多個參數。我只想要一個for loop,以便它遍歷所有參數併爲該參數分配一個值。查詢中的C#計數參數數

查詢在訪問數據庫中。

public static bool SubmitData(string queryName) 
    { 
     OleDbConnection conn = new OleDbConnection(cnnString); 
     OleDbCommand cmd = new OleDbCommand(queryName, conn); 
     OleDbDataAdapter da = new OleDbDataAdapter(); 

     DataSet ds = new DataSet(); 

     string strParameterName; 

     conn.Open(); 
     cmd = new OleDbCommand(queryName, conn); 

     cmd.Connection = conn; 
     cmd.CommandType = CommandType.StoredProcedure; 
     cmd.CommandText = queryName; 

     for (int i = 0; i < cmd.Parameters.Count; i++) 
     { 

     } 

     conn = null; 
     return true; 

    } 

上面的例子有3個參數,但數量就要到了爲0

回答

4

我實在看不出哪裏是三個參數。 Parameters.Count不會返回您的程序接收器的參數數量。它返回已經添加的參數的計數。


你可能想要的是:

cmd.Parameters.Add("@p1", OleDbType.Type1).Value = value1; 
cmd.Parameters.Add("@p2", OleDbType.Type2).Value = value2; 

Parameters是參數集合,初始爲空。方法Add,添加參數,並且Value屬性分配它的值。

請注意,在OleDbConnection中,參數的順序很重要,所以您需要在查詢之前知道該命令。

+2

我同意;我看不到他添加這些參數的地方。 – 2013-03-05 02:31:28

+0

參數位於訪問數據庫的查詢中。 – user2134024 2013-03-05 02:55:53

+0

cmd = new OleDbCommand(queryName,conn); queryname是一個插入查詢並有三個參數。我想將值傳遞給這些參數,不知道如何執行此操作 – user2134024 2013-03-05 02:57:18