删除表时,dataGridView1.DataSource = ds.Tables[0]这一句提示无法找到表 0

 我来答
XX莫叫莫鸟
2014-10-13 · TA获得超过494个赞
知道小有建树答主
回答量:381
采纳率:0%
帮助的人:193万
展开全部
你删除了dataGridView1的数据源,肯定会报错的。
如果你只是想显示数据后,在取消显示,你不需要去删除表,直接指定dataGridView1.DataSource=null;
如果是确定是想对ds中的表删除的化,还是要先把dataGridView1.DataSource重新指定,不然绑定时找不到数据源中的表,还是要报错的。
更多追问追答
追问
string sql = deleteSql();
DataSet ds = new DataSet();
ds = Ora.Query(sql);
dataGridView_FTP_FILE.DataSource = ds.Tables[0];
写的对吗,求指正
追答
没错,但是你删除了ds.Tables[0]就会有错,因为dataGridView的数据源绑定在ds的第一个表上,
ds里面的表没有了,那么第一个表当然就不存在了,就会提示你找不到表。
禅佛悟道
2014-10-13 · TA获得超过214个赞
知道小有建树答主
回答量:187
采纳率:19%
帮助的人:55万
展开全部
//确定数据库
string sqldata = "server=.;uid=sa;pwd=jmhcksg;database=NetBarDB";
SqlConnection con = new SqlConnection(sqldata);
SqlCommand com = new SqlCommand();
com.Connection = con;
//等号后面是存储过程名
com.CommandText = "proc_DeleteBook";
com.CommandType = CommandType.StoredProcedure;
//输出参数
SqlParameter shuchu = new SqlParameter("@Number", SqlDbType.VarChar, 20);
//添加输出参数
com.Parameters.Add(shuchu);
//指定他为输出参数
com.Parameters["@Number"].Direction = ParameterDirection.Output;
SqlDataAdapter dpter = new SqlDataAdapter(com);
DataSet ds = new DataSet();
dpter.Fill(ds);
//这个值就是删除成功的值,你直接拿 来提示
shuchu.Value.ToString();
下面是存储过程
create procedure proc_DeleteBook
--定义输出参数
@Number varchar(20) output
as
--删除表
drop table books
set @Number='删除成功!'
go
久了不用这种方法了,半天才写出来 你要理解 啊 这种方法有点老了。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
月影独酌
2014-10-13 · 超过13用户采纳过TA的回答
知道答主
回答量:75
采纳率:0%
帮助的人:15.8万
展开全部
说明你ds.table[0]这个表中的数据为空
更多追问追答
追问
不是啊,我先查询出数据让后再删除数据,查询数据肯定要绑定数据啊,这样ds.table[0]里有表啊。我现在要做的功能是先查询出数据然后删除
追答
想实现什么效果,可以描述一下吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式