【问题标题】:Static Methods to Select, Insert & Update Data C#选择、插入和更新数据的静态方法 C#
【发布时间】:2018-02-26 21:24:36
【问题描述】:

下面是一个用java编写的静态方法,用请求的查询填充jtable。(基本上大多数查询都可以执行,并且该方法可以填充数据-也包括where和joins子句)

C# 中是否有类似的方法可以做到这一点? (基本上这种方法是从外部类(相同的包)到 jframe 然后到 jtable - 那么我们如何对 C# 类到 Windows 窗体然后到数据网格视图做同样的事情)。

我找到的唯一好的来源是this,但那是在 mysql 中,如何使用普通的 mssql 方法来做到这一点?如果有人可以指导我找到解释如何执行此操作的来源,或者举例说明如何使用所有 Select、Insert 和 Update 子句执行此操作,那就太好了。

public void searchData(JTable table, String Query) 
{        
    try 
    {    
        stmt = con.createStatement();
        rs = stmt.executeQuery(Query);

        //To remove previously added rows
        while (table.getRowCount() > 0) 
        {
            ((DefaultTableModel) table.getModel()).removeRow(0);
        }
        int columns = rs.getMetaData().getColumnCount();
        while (rs.next()) 
        {
            Object[] row = new Object[columns];
            for (int i = 1; i <= columns; i++) 
            {
                row[i - 1] = rs.getObject(i);
            }
            ((DefaultTableModel) table.getModel()).insertRow(rs.getRow() - 1, row);
        }

        rs.close();
        stmt.close();
        con.close();
    } 
    catch (SQLException e) 
    {
    }

}

【问题讨论】:

标签: c# sql-server oop datagridview


【解决方案1】:

在 ADO.NET 中,您使用查询和连接构建 SqlDataAdapter,初始化 DataTable 变量实例并调用传递 DataTable 变量的 SqlDataAdapter.Fill 方法。您的数据在 DataTable 中。

public DataTable searchData(string query)
{
    try
    {
        DataTable table = new DataTable();
        using(SqlConnection con = new SqlConnection(....constring here...))
        {
            using(SqlDataAdapter da = new SqlDataAdapter(query, con))
               da.Fill(table);
        }
        return table;
    }
    catch(Exception ex)
    {
        MessageBox.Show(ex.ToString());
        return null;
    }
}

【讨论】:

  • 该方法返回的DataTable可以赋值给DataGridView的DataSource属性。网格应该显示您的数据,然后您可以开始使用标题和格式自定义网格。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-02-21
  • 1970-01-01
  • 2015-07-12
  • 1970-01-01
  • 2011-11-12
  • 1970-01-01
  • 2016-08-21
相关资源
最近更新 更多