ASP.NET 本地 SQL Server 数据库 C# gridview 数据绑定 Visual Studio 2013
Posted
技术标签:
【中文标题】ASP.NET 本地 SQL Server 数据库 C# gridview 数据绑定 Visual Studio 2013【英文标题】:ASP.NET local SQL Server database C# gridview data binding Visual Studio 2013 【发布时间】:2015-01-05 04:34:55 【问题描述】:我需要一些帮助,因为我一直在尝试不同的事情,但似乎没有任何工作正常,问题本身就是下面的问题。
如何使用 C# 背后的代码将数据绑定到 Visual Studio 2013 中具有本地 SQL Server 数据库的网格视图?
这是我正在尝试的 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();
【问题讨论】:
您是否遇到任何错误 【参考方案1】:您只需将空的 DataSet
分配给 Gridview 的 DataSource
。
您需要使用.Fill
method 填写您的DataSet
或SqlDataAdapter
。你不需要使用ExecuteNonQuery
。此方法仅执行您的查询。它不会返回任何数据或结果。
还可以使用using
statement 来处理您的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();
【讨论】:
【参考方案2】:你应该使用这样的语句: 当您使用 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();
【讨论】:
【参考方案3】:您错过了 Fill
填充数据集的方法,这就是我认为您无法显示 gridview
的原因。
Fill 方法是非常重要的方法 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 调用连接字符串的语法
【讨论】:
以上是关于ASP.NET 本地 SQL Server 数据库 C# gridview 数据绑定 Visual Studio 2013的主要内容,如果未能解决你的问题,请参考以下文章
将 SQLite 与 ASP.NET Core MVC 一起使用会产生 SQL Server 错误 52(无法找到本地数据库运行时安装)
ASP.NET MVC:从 SQL Server Express 迁移到 Azure
JavaScript、asp.net 和 Sql Server
在 ASP.NET 中使用 .MDF SQL Server 数据库与使用 SQL Server
ASP.NET + SQL SERVER + JSON = 如何在 SQL Server 的两个连接表中获取数据并加载为 JSON?