无法在对象中获取Datatable返回类型
本文关键字:获取 Datatable 返回类型 对象 | 更新日期: 2023-09-27 18:03:29
我已经创建了从数据库获取数据的方法。此方法的返回类型为DataTable。当试图调用这个方法时,它抛出了对象引用的异常。没有设置对象的实例。这是方法和我如何使用它。
public DataTable executeSelect (String _query, SqlParameter[] sqlParameter)
{
SqlCommand myCommand = new SqlCommand();
DataTable dataTable = new DataTable();
dataTable = null;
DataSet ds = new DataSet();
try
{
myCommand.Connection = openConnection();
myCommand.CommandText = _query;
myCommand.Parameters.AddRange(sqlParameter);
myCommand.ExecuteNonQuery();
myadapter.SelectCommand = myCommand;
myadapter.Fill(ds);
dataTable = ds.Tables[0];
}
catch (SqlException e)
{
Console.Write( e.StackTrace.ToString());
return null;
}
finally
{
}
return dataTable;
}
下面的代码显示了如何使用上述方法生成数据表
string sp_name = "sLot";
SqlParameter[] param = new SqlParameter[]{
new SqlParameter("@stype","ML"),
new SqlParameter("@ttype","B"),
new SqlParameter("@code",comp_code)
};
DataTable data = dbc.executeSelect(sp_name, param);
注意:这使用存储过程名称"sLot">
我假设您正在获得一个excdeption,因此您返回null而不是DataTable
。如果使用CommandType
,则必须将其设置为StoredProcedure
。
myCommand.CommandType = CommandType.StoredProcedure;
当然,NullReferenceException
还有其他可能的原因,但您还没有提供足够的信息。如果最后一行在注释dbc
为null时抛出异常。您可以将executeSelect
设置为静态的,也可以创建声明该方法的类型的实例。