关于SqlDataAdapter的简单问题求助,头都搞大了

Radar2006 2006-09-07 01:55:53
public byte[] GetData(string rwbh)
{

SqlConnection sqlConn=new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);

DataSet ds=new DataSet();

SqlDataAdapter sqlAdp=new SqlDataAdapter();
sqlAdp.SelectCommand.Connection=sqlConn;
sqlAdp.SelectCommand.CommandText="select * from 表1 where 字段1>'" + rwbh + "'";

sqlConn.Open();
sqlAdp.SelectCommand.ExecuteNonQuery();
sqlConn.Close();

sqlAdp.Fill(ds,"表1");

return dsCompress.CompressDS(ds);
}
上面的执行时会出错,但将:
SqlDataAdapter sqlAdp=new SqlDataAdapter();
sqlAdp.SelectCommand.Connection=sqlConn;
sqlAdp.SelectCommand.CommandText="select * from 表1 where 字段1>'" + rwbh + "'";
改成:

SqlDataAdapter sqlAdp=new SqlDataAdapter("select * from 表1 where 字段1>'" + rwbh + "'",sqlConn);

后却正常。不知什么这两句有什么区别?因为这个sqlAdp要重复用到,所以不便写成第二种样式。

???


...全文
255 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Radar2006 2006-09-07
  • 打赏
  • 举报
回复
to wangwei155() :
这里面我略去了一部分,要将多个查询结果放入DataSet中,直接返回DataSet。

搞定,谢谢大家!
wangwei155 2006-09-07
  • 打赏
  • 举报
回复
你既然用了sqlAdp.SelectCommand.ExecuteNonQuery();
何必再用sqlAdp.Fill(ds,"表1");
要么
SqlCommand cmd =new SqlComand("select ..",sqlConn);
da.SelectComamnd = cmd;
sqlConn.Open();
sqlAdp.SelectCommand.ExecuteNonQuery();
sqlConn.Close();

Radar2006 2006-09-07
  • 打赏
  • 举报
回复
谢谢大家,看来有希望了,呵呵

我试试……
三多 2006-09-07
  • 打赏
  • 举报
回复
同意greennetboy。
SqlDataAdapter sqlAdp=new SqlDataAdapter();
sqlAdp.SelectCommand.Connection=sqlConn;
sqlAdp.SelectCommand.CommandText="select * from 表1 where 字段1>'" + rwbh + "'";
此时对应的SqlCommand未初始化。

SqlDataAdapter sqlAdp=new SqlDataAdapter("select * from 表1 where 字段1>'" + rwbh + "'",sqlConn);

在构造SqlDataAdapter 时初始化SqlCommand
湖中仙人 2006-09-07
  • 打赏
  • 举报
回复
因为你没有写SqlCommand selectCmd = new SqlCommand();
greennetboy 2006-09-07
  • 打赏
  • 举报
回复
SqlCommand cmd =new SqlComand("select ..");
da.SelectComamnd = cmd;
greennetboy 2006-09-07
  • 打赏
  • 举报
回复
sqlAdp.SelectCommand.Connection=sqlConn;
此时SelectCommand为null,runtime error!
swife 2006-09-07
  • 打赏
  • 举报
回复
SqlDataAdapter sqlAdp=new SqlDataAdapter("select * from 表1 where 字段1>'" + rwbh + "'",sqlConn);

->>数字字段怎么用单引号,,字段1>'" + rwbh + "'"
zhgroup 2006-09-07
  • 打赏
  • 举报
回复
显示什么错误?
你也可以这样:
SqlCommand selectCmd = new SqlCommand();
selectCmd.CommandText = "string";
selectCmd.Connection = sqlConn;
sqlAdp.SelectCommand = selectCmd;

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧