2011-05-18 57 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页面。