ASP.NET本地SQL Server数据库C#网格视图数据绑定Visual Studio 2013
本文关键字:数据绑定 视图 Visual Studio 2013 网格 本地 NET SQL Server 数据库 | 更新日期: 2023-09-27 18:29:51
我需要一些帮助,因为我一直在尝试不同的东西,但似乎没有什么能正常工作——问题本身就是下面的问题。
如何使用C#背后的代码将数据绑定到带有本地SQL Server数据库的Visual Studio 2013中的网格视图?
这是我正在尝试的C#:
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)'v11.0;AttachDbFilename=C:'Users'Guillermo'Desktop'HorsensHospital'App_Data'HospitalDB.mdf;Integrated Security=True;Connect Timeout=30");
con.Open();
SqlCommand cmd = new SqlCommand("SELECT [Task_temp_name], [Task_templatesID] FROM [Task_templates]", con);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
GridView1.DataSource = ds;
GridView1.DataBind();
cmd.ExecuteNonQuery();
con.Close();
}
您只是将空的DataSet
分配给Gridview的DataSource
。
您需要使用.Fill
方法来填充SqlDataAdapter
中的DataSet
。您不需要使用ExecuteNonQuery
。这个方法只是执行您的查询。因此,它不会返回任何数据或其他内容。
还可以使用using
语句来处理SqlConnection
、SqlCommand
和SqlDataAdapter
。当你使用数据库连接和对象时,你不需要.Close()
。
using(SqlConnection con = new SqlConnection(conString))
using(SqlCommand cmd = con.CreateCommand())
{
cmd.CommandText = "SELECT [Task_temp_name], [Task_templatesID] FROM [Task_templates]";
using(SqlDataAdapter sda = new SqlDataAdapter(cmd))
{
DataSet ds = new DataSet();
sda.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
}
}
您应该使用这样的语句:使用SqlDataAdapter时,应使用fill方法填充数据集然后设置GridView 的DataSource属性
SqlCommand cmd = new SqlCommand("SELECT [Task_temp_name], [Task_templatesID] FROM [Task_templates]", con);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
con.Close();
您错过了Fill
方法来填充数据集,这就是我认为您无法显示gridview
的原因。
Fill Method是一种非常改进的方法Bcoz,无论您的查询返回什么,都应该填充到您的数据集中&则该数据集由Gridiview
绑定希望这能帮助你
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)'v11.0;AttachDbFilename=C:'Users'Guillermo'Desktop'HorsensHospital'App_Data'HospitalDB.mdf;Integrated Security=True;Connect Timeout=30");
con.Open();
SqlCommand cmd = new SqlCommand("SELECT [Task_temp_name], [Task_templatesID] FROM [Task_templates]", con);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
sda.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
cmd.ExecuteNonQuery();
con.Close();
}
注意:您需要在Web.Config.Bcoz中创建连接字符串。如果您已经在那里创建了连接字符串,则无需再次创建。创建后,您只需要从Web.config
调用即可
SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionStringNameFromWebConfig"].ConnectionString);
这是从web.config 调用连接字符串的语法