如何从datagridview显示数据库中的数据

时间:2016-04-11 18:44:41

标签: c#

如何在datagridview中显示数据库表(我的数据库是sdf)? 这是我的代码:

private void Show_Button_Click(object sender, EventArgs e)
{
        string query = "SELECT * FROM Contact_List";
        SqlCeConnection con = new SqlCeConnection(@"Data Source=C:\Co-op\Contact\Contact\ContactDataBase.sdf;Password=********");

        using (SqlCeDataAdapter adap = new SqlCeDataAdapter(query, con))
        {
            DataTable dat = new DataTable();
            adap.Fill(dat);
            dataGridView1.DataSource = dat;
        }
    }

上面的代码没有向datagridview显示任何数据。它只显示一个没有任何内容的新行。我正在使用Window Forms应用程序。 这是我得到的错误:

  

'System.Windows.Forms.DataGridView'不包含的定义   'DataBind'并没有扩展方法'DataBind'接受第一个   可以找到类型为“System.Windows.Forms.DataGridView”的参数   (您是否缺少using指令或程序集引用?)

1 个答案:

答案 0 :(得分:0)

一个建议请尝试使用断点在调试模式下可视化DataTable。

确保数据在DataTable中可用

试试这个示例代码:

  <%@ Page Language="C#" %>
  <script runat="server">
  void Page_Load()
  {
  String str = "";
  int m, s;
  m = 5;
  s = 2;
  label1.Text = str; 
 m = 5;
 s = 2;
 str += "m+s" + (m+s) + "<br/>";
 label2.Text = str;
 m = 5;
 s = 2;
 str += "m-s" + (m-s) + "<br/>";
 label3.Text = str;
 m = 5;
 s = 2;
 str += "m*s" + (m*s) + "<br/>";
 label4.Text = str;
 }

 </script>
<!Doctype html>
 <html>
 <body>
 <%--
 Heading
 Student: Schweidel Tyson;
 'File name: ex02.aspx
 --%>
 m = <%=DateTime.Now.Minute%><br>
 s = <%=DateTime.Now.Second%>
  <asp:Label id="Label1" runat="server"/></asp:Label>
 m+s = <%=str%>
 <asp:Label id="Label2" runat="server"/></asp:Label> 
 m-s = <%=str%>
 <asp:Label id="Label3" runat="server"/></asp:Label> 
m*s = <%=str%>
<asp:Label id="Label4" runat="server"/></asp:Label> 
 </body>
 </html>

用法:

public void FillDataTable(string sSQL, DataTable dt)// DataTable operations 
            {
                this.cmd = new SqlCommand(sSQL, this.conn);
                this.dataAdapter = new SqlDataAdapter(this.cmd);
                this.dataAdapter.Fill(dt);

            }

希望它必须有效。