200分!!!急急急!!C#.net dataset的问题,sqldataAdapter的问题

[复制链接]
查看11 | 回复5 | 2009-8-16 23:55:33 | 显示全部楼层 |阅读模式
先说几个问题1.QueryString的索引器返回的本来就是string,没必要再ToString()。2.如果你用DataSet,没必要把conn.Close放在那么后面,你延长了数据库连接的时间。3.从你的用法来看,根本没必要用DataSet,用DataTable、DataReader足矣,除非你是为了用DataSet而用DataSet。4.用DBConnection、DBDataAdapter、DataSet,记得Dispose。5.如果你只取一行,请用TOP 1。 “二楼听风雨”说的不正确。根据帮助文档,SqlDataAdapter:public sealed class SqlDataAdapter : DbDataAdapter而DbDataAdapter:public abstract class DbDataAdapter : DataAdapter, IDbDataAdapter, IDataAdapter, ICloneable“二楼听风雨”查阅的是DataAdapter.Fill()的内容,所以是没有这个方法。但是在SqlDataAdapter和DbDataAdapter中是有Fill(DataSet, String)这个重载的。
回复

使用道具 举报

千问 | 2009-8-16 23:55:33 | 显示全部楼层
我查询了一下,Fill方法只有4个重载方法,没有你用的方法:public virtual int Fill(DataSet dataSet);protected virtual int Fill(DataTable dataTable, IDataReader dataReader);protected virtual int Fill(DataTable[] dataTables, IDataReader dataReader, int startRecord, int maxRecords);protected virtual int Fill(DataSet dataSet, string srcTable, IDataReader dataReader, int startRecord, int maxRecords);相信da.Fill(new DataSet("dablea"));就对了吧。您试试?
回复

使用道具 举报

千问 | 2009-8-16 23:55:33 | 显示全部楼层
不知道是不是我看错了 string strSql = "select * from z_VoteInfo where Vote_ID='" + Request.QueryString["vid"].ToString() + "';";你这里最后SQL语句有个分号这样SQL语句是执行不成功的
回复

使用道具 举报

千问 | 2009-8-16 23:55:33 | 显示全部楼层
Vote_ID我想你的这个ID应该是int类型吧如果是的话string strSql = "select * from z_VoteInfo where Vote_ID=" + Request.QueryString["vid"].ToString();条件中不要单引号,结尾分号也不要
回复

使用道具 举报

千问 | 2009-8-16 23:55:33 | 显示全部楼层
语法错误还是蛮好找的吧,编译一下页面,很容易定位到错误的地方,我们看程序,这个应该是属于调试的范畴了,至于语法错误,是需要长期的代码编写才能改善的前面是Vote_ID是int类型。。。后面是Request.QueryString["vid"].ToString() ,两个类型也不一样撒。。。晕。。。。da.Fill(ds)这样就可以了,用sqldataAdapter就不必要写数据库打开和关闭
回复

使用道具 举报

千问 | 2009-8-16 23:55:33 | 显示全部楼层
肯定是SQL错了吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行