2011-05-18 83 views
0

如何使用編程代碼將數據放入gridview? 我需要一個SQL語句至極擁有VAR的:Gridview中的自定義SQL

"SELECT Mod_Naam, Mod_Omschrijving FROM Model WHERE Mod_ID = " + modid + " ", con 

我嘗試了嚮導,但我不能使用有變種的,所以我必須使用編程代碼(以前從未做過,不知道如何)

歡迎任何幫助!

THX,

+0

你究竟需要什麼,你可以告訴 – Dotnet 2011-05-18 11:17:35

+0

他需要什麼是在他的問題的第一行:「我怎麼把數據放入gridview使用編程代碼?」 ;-) – 2011-05-18 11:20:29

回答

2

你可以做類似

SqlConnection con = new SqlConnection("");//put connection string here 
    SqlCommand objCommand = new SqlCommand("SELECT FirstName, LAstName from MyTable where FirstName = '" + "ABC" + "'", con);//let MyTable be a database table 
con.Open(); 
    sqlDataReader dr = objCommandExecuteReader(); 
myGridView.DataSource = dr;//let myGridView be your GridView name 
myGridView.DataBind(); 
2
using (SqlConnection c = new SqlConnection(
    Properties.Settings.Default.DataConnectionString)) 
    { 
    c.Open(); 
    // Create new DataAdapter 
    using (SqlDataAdapter a = new SqlDataAdapter("SELECT Mod_Naam, Mod_Omschrijving FROM Model WHERE Mod_ID = @modid ", c)) 
    { 
     a.SelectCommand.Parameters.AddWithValue("modid", ""); 

     // Use DataAdapter to fill DataTable 
     DataTable t = new DataTable(); 
     a.Fill(t); 

     // GridView1.DataSource = t; // <-- From your designer 
    } 
    } 
2

首先,你需要從數據庫中獲取的鍵入一個GridView可以處理你的數據。一個DataTable將會很好。

以下代碼使用從查詢中檢索的數據填充DataTable「Models」。

// Assuming 'connection' is a valid connection to your database 
string modid = "134"; // or int modid = 134; 
string query = "SELECT Mod_Naam, Mod_Omschrijving 
       FROM Model 
       WHERE Mod_ID = " + modid; 
SqlDataAdapter adapter = new SqlDataAdapter(query, connection); 
DataSet models = new DataSet(); 
adapter.Fill(models , "Models"); 

接下來,您要將數據附加到您的GridView。如果您只想在加載頁面時加載數據,而不是在回發時加載數據,則可以將其放在頁面的Page_Load中,並放在if(!Page.IsPostBack)區域中。

if (models.Tables.Count > 0) 
{ 
    myGridView.DataSource = models; 
    myGridView.DataBind(); 
} 

請注意,最好是讓你的查詢免受SQL注入

欲瞭解更多有關運行安全的查詢;我會把你轉到關於prepared statements的MSDN頁面。