0

我正在为 Postgresql 使用 .Net 提供程序,当我运行以下代码时,我得到“对象引用未设置为对象的实例”。错误。

我从表单运行以下代码:

DataTable x = new DataTable(); 
x = cmdGetRow("select * from employee;"); // I get the error here

调用此函数:

public DataTable cmdGetRow(String SQL)
        {
                NpgsqlDataAdapter NpAdapter = new NpgsqlDataAdapter();
                DataSet dset = new DataSet("hr");
                NpAdapter.SelectCommand = new NpgsqlCommand(SQL, dbConnection);
                NpAdapter.Fill(dset, "employee");
                return dset.Tables["employee"];

        }

你能帮我吗。

4

2 回答 2

0

尝试:

DataTable x = new DataTable(); 
cmdGetRow("select * from employee;", ref x);

public void cmdGetRow(String SQL, ref table)
{
    NpgsqlDataAdapter NpAdapter = new NpgsqlDataAdapter();
    DataSet dset = new DataSet("hr");
    NpAdapter.SelectCommand = new NpgsqlCommand(SQL, dbConnection);
    NpAdapter.Fill(dset, "employee");
    table = dset.Tables["employee"];
}
于 2013-04-16T13:30:46.687 回答
0

也许这可以帮助你:在从数据库获取数据之前,确保有一个连接并且连接是打开的。

public DataTable cmdGetRow(String SQL)
    {
            string conString = String.Format("Server={0};Port={1};User Id={2};Password={3};Database={4};",
            _server, _port, _userId, _password, _database);
            NpgsqlConnection connection = new NpgsqlConnection(conString);
            connectin.Open();
            NpgsqlDataAdapter command = new NpgsqlDataAdapter(sql, connection);
            DataSet dataSet = new Dataset();
            dataSet.Reset();
            command.Fill(dataSet);
            return dataSet.Tables[0];
    }
于 2017-07-01T10:32:06.277 回答