2012-04-16 101 views
0

我在Mysql類似下面的查詢:查詢與參數

SELECT  id, nome, sigla 
FROM   pais 
WHERE ([email protected]) 

在我的代碼,而無需使用我想簡單地使用參數:

this.cidadeTableAdapter.Fill(this.anfeDataSet1.cidade); 

,一切都將是確定的。

更多使用我怎麼提上參數的值,並傳遞給TableAdapter的參數?

+0

你的原始消息說你在'Msql'查詢 - 你的意思是MySQL的通過,或Microsoft SQL ** **服務器??? – 2012-04-16 11:29:35

回答

0

在此請看:http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.parameters.aspx

SqlCommand com = new SqlCommand("SELECT id, nome, sigla FROM pais WHERE ([email protected])", connection); 
com.Parameters.Add(new SqlParameter("estado", value)); 
     SqlDataAdapter cidadeTableAdapter = new SqlDataAdapter(); 
     cidadeTableAdapter.SelectCommand = this.com; 
     DataSet set = new DataSet("return"); 
     cidadeTableAdapter.Fill(set); 
     this.com.Connection.Close(); 
     return set; 

最佳選項BTW是使用數據庫的連接,因此您不必明確地將其關閉。

+0

我明白大家都在談論什麼,我想知道的更多是... 即使在TableAdapter的設計中創建一個查詢,我會編寫該代碼,或者還有另一種方法來執行此操作,因爲我通過設計器模式 – 2012-04-16 10:49:50

+0

解釋你的意思..你使用設計器模式創建查詢,然後? – riffnl 2012-04-16 10:58:57

0
using (SqlConnection connection = new SqlConnection(connectionString)) //create connection 
{ 
     connection.Open();//openconnection 

     using (SqlCommand command = new SqlCommand("SELECT id, nome, sigla FROM pais 
WHERE ([email protected])", connection)) //create command 
     { 

      command.Parameters.Add(new SqlParameter("estado", value)); //add parameter 

      SqlDataReader reader = command.ExecuteReader(); //execute reader 
      while (reader.Read()) 
      { 
       ...... //read the data 
      } 
     } 
    } 
} 
+0

甚至創造了TableAdapter的設計一個查詢,我會寫這樣的代碼或有另一種方式做到這一點,因爲我做了設計者模式一切 – 2012-04-16 10:43:25

+0

創建這樣的命令,並將其分配給一個DataAdapter.SelectCommand財產 – Tigran 2012-04-16 10:45:10

+0

看這裏[SqlDataAdapter.SelectCommand屬性](http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldataadapter.selectcommand.aspx) – Tigran 2012-04-16 11:13:25