看了你写的代码后,想给你分享一段代码,如下:
//一个公共、静态、返回DataTable类型、带有两个参数的方法
public static DataTable GetDataTable(string strSql, params SqlParameter[] values)
{
DataSet ds = new DataSet(); //创建DataSet实例
//创建Sqlcommand实例,其中strSql是数据库操作语句,Connection是数据库连接
SqlCommand cmd = new SqlCommand(strSql, Connection);
//往DataAdapter实例中添加参数,参数数据来源于SqlParameter[]数组数据
cmd.Parameters.AddRange(values);
//创建DataAdapter数据适配器实例,打开数据库并按strSql数据库语句对数据库进行操作
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds); //使用DataAdapter的Fill方法(填充)
return ds.Tables[0]; //返回第一个数据集
}
#region 打开数据
private static SqlConnection _connection;
public static SqlConnection Connection
{
get
{
string strConnection = @"Data Source=.;Initial Catalog=DkdPlasticDB;User ID=sa;Pwd=he.NO1";
if (_connection == null)
{
_connection = new SqlConnection(strConnection);
_connection.Open();
}
else if (_connection.State == ConnectionState.Closed)
{
_connection.Open();
}
else if (_connection.State == ConnectionState.Broken)
{
_connection.Close();
_connection.Open();
}
return _connection;
}
}
#endregion
看回你的问题:
你里面写的:int rnt=this.adapter.Fill(dtSelect); 填充的不应该是DataTable类型,你返回的值给rnt,也没法取出rnt值;至于对象名“tb_emp”无效,你得倒回去查你的strSql字符串,问题出在strSql
如果你的sql语句没有写错的情况下还出现这样的问题是说明你的连接字符串的数据库的名字写错嘞 还有就是 如果是sql语句错嘞的话 你最好先的sql server中写一遍 确保没有错 然后再复制过来 也不费事 也不容易出错 希望可以帮助到你
查询字符串strSql中的表名“tb_emp”是不是“tb_temp ” 不小心少了个“t“呢。
是不是你要更新的表不存在啊。确认一下表名是否写错
仔细查查SQL语句啊。。