楼主: sdusun

无法找到表0问题求解!

[复制链接]
论坛徽章:
64
马上加薪
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-01-04 11:50:44蛋疼蛋
日期:2011-11-28 18:18:45紫蛋头
日期:2011-11-16 17:20:17ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28茶鸡蛋
日期:2011-06-24 15:21:00
11#
发表于 2006-9-30 11:52 | 只看该作者
Fill没有数据添加到Ds中当然就没有表了,没有表你Tables[0]当然就找不到!

使用道具 举报

回复
论坛徽章:
64
马上加薪
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-01-04 11:50:44蛋疼蛋
日期:2011-11-28 18:18:45紫蛋头
日期:2011-11-16 17:20:17ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28茶鸡蛋
日期:2011-06-24 15:21:00
12#
发表于 2006-9-30 11:58 | 只看该作者
最初由 sdusun 发布
[B]多谢斑竹!说话不当之处,见谅!
小弟仔细检查了一遍,还是没有找到问题,斑竹老大,能否出手给看看?!万分感谢!!
[PHP]
                //1 TransData
                [WebMethodAttribute()]
                public string TransData(string sftable,string sttable)
                {
                        string str = "";
                        string strConn = ConfigurationSettings.AppSettings["ConnectionString"];
                        try
                        {
                                OracleConnection sqlConnection = new OracleConnection(strConn);
                                OracleCommand sqlCommand = new OracleCommand("test_procedure",sqlConnection);
                                sqlCommand.CommandType = CommandType.StoredProcedure;
                               
                                OracleParameter sqlParameter1 = new OracleParameter("fftable",DbType.String);
                                sqlParameter1.Value = sftable.ToString();
                                sqlCommand.Parameters.Add(sqlParameter1);

                                OracleParameter sqlParameter2 = new OracleParameter("tttable",DbType.String);
                                sqlParameter2.Value = sttable.ToString();
                                sqlCommand.Parameters.Add(sqlParameter2);

                                DataSet dataSet = new DataSet("Trans_data";
                                //sqlConnection.Open();
                                new OracleDataAdapter(sqlCommand).Fill(dataSet);
                                dataSet.Tables[0].TableName = "AA";
                                //DataTable t = dataSet.Tables.Add("AA";

                                str = dataSet.GetXml();
                        }
                        catch(Exception e)
                        {
                                str = logError(1000,e.Message,e.TargetSite.ToString());
                        }
                        return str ;
                }
[/PHP]

依然十分执着的“找不到表0” [/B]



在调试的时候不要用Try 这样本来错误的东西很容易被忽视掉,如果想用,那么就给程序一个Debug标志属性,Catch中当Debug标志是打开的就
用MessageBox显示错误信息,这样当Try中有代码出问题了就很容易发现,而不至于被Try给回避掉,当发布程序的时候在关闭Debug标志就不会出现MessageBox了。

使用道具 举报

回复
论坛徽章:
44
青年奥林匹克运动会-自行车
日期:2014-09-12 22:37:432012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:09咸鸭蛋
日期:2012-01-08 14:47:322012新春纪念徽章
日期:2012-01-04 11:50:44ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15迷宫蛋
日期:2011-08-14 17:30:33双黄蛋
日期:2011-05-28 20:32:46紫蛋头
日期:2011-05-18 20:41:51现任管理团队成员
日期:2011-05-07 01:45:08
13#
 楼主| 发表于 2006-9-30 13:55 | 只看该作者
最初由 mo_yuan_ming 发布
[B]Fill没有数据添加到Ds中当然就没有表了,没有表你Tables[0]当然就找不到! [/B]

数据可以从一张表导入另一张表,为什么“Fill没有数据添加到Ds中”呢?

使用道具 举报

回复
论坛徽章:
44
青年奥林匹克运动会-自行车
日期:2014-09-12 22:37:432012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:09咸鸭蛋
日期:2012-01-08 14:47:322012新春纪念徽章
日期:2012-01-04 11:50:44ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15迷宫蛋
日期:2011-08-14 17:30:33双黄蛋
日期:2011-05-28 20:32:46紫蛋头
日期:2011-05-18 20:41:51现任管理团队成员
日期:2011-05-07 01:45:08
14#
 楼主| 发表于 2006-9-30 14:13 | 只看该作者
经验证,的确dataSet里面没有数据,那么
请问:Fill没有数据添加到Ds中,失败的原因可能是什么呢?在MSDN中没有找到

使用道具 举报

回复
论坛徽章:
64
马上加薪
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-01-04 11:50:44蛋疼蛋
日期:2011-11-28 18:18:45紫蛋头
日期:2011-11-16 17:20:17ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28茶鸡蛋
日期:2011-06-24 15:21:00
15#
发表于 2006-9-30 15:35 | 只看该作者
连接Oracle用的是SqlConnection?
sqlConnection    错误: 标识符“sqlConnection”超出范围   


什么问题看看你的
str = logError(1000,e.Message,e.TargetSite.ToString());


就清楚了

使用道具 举报

回复
论坛徽章:
44
青年奥林匹克运动会-自行车
日期:2014-09-12 22:37:432012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:09咸鸭蛋
日期:2012-01-08 14:47:322012新春纪念徽章
日期:2012-01-04 11:50:44ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15迷宫蛋
日期:2011-08-14 17:30:33双黄蛋
日期:2011-05-28 20:32:46紫蛋头
日期:2011-05-18 20:41:51现任管理团队成员
日期:2011-05-07 01:45:08
16#
 楼主| 发表于 2006-9-30 15:37 | 只看该作者
明白了,可能我的写个包,不用存储过程了!
谢谢二位斑竹!

使用道具 举报

回复
论坛徽章:
64
马上加薪
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-01-04 11:50:44蛋疼蛋
日期:2011-11-28 18:18:45紫蛋头
日期:2011-11-16 17:20:17ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28茶鸡蛋
日期:2011-06-24 15:21:00
17#
发表于 2006-9-30 15:42 | 只看该作者
最初由 sdusun 发布
[B]多谢斑竹!说话不当之处,见谅!
小弟仔细检查了一遍,还是没有找到问题,斑竹老大,能否出手给看看?!万分感谢!!
[PHP]
                //1 TransData
                [WebMethodAttribute()]
                public string TransData(string sftable,string sttable)
                {
                        string str = "";
                        string strConn = ConfigurationSettings.AppSettings["ConnectionString"];
                        try
                        {
                                OracleConnection sqlConnection = new OracleConnection(strConn);
                                OracleCommand sqlCommand = new OracleCommand("test_procedure",sqlConnection);
                                sqlCommand.CommandType = CommandType.StoredProcedure;
                               
                                OracleParameter sqlParameter1 = new OracleParameter("fftable",DbType.String);
                                sqlParameter1.Value = sftable.ToString();
                                sqlCommand.Parameters.Add(sqlParameter1);

                                OracleParameter sqlParameter2 = new OracleParameter("tttable",DbType.String);
                                sqlParameter2.Value = sttable.ToString();
                                sqlCommand.Parameters.Add(sqlParameter2);

                                DataSet dataSet = new DataSet("Trans_data";
                                //sqlConnection.Open();
                                new OracleDataAdapter(sqlCommand).Fill(dataSet);
                                dataSet.Tables[0].TableName = "AA";
                                //DataTable t = dataSet.Tables.Add("AA";

                                str = dataSet.GetXml();
                        }
                        catch(Exception e)
                        {
                                str = logError(1000,e.Message,e.TargetSite.ToString());
                        }
                        return str ;
                }
[/PHP]

依然十分执着的“找不到表0” [/B]



晕菜!
看看你的代码 怎么SqlClient和OracleClient在混着用
你的代码不可能执行成功的 不信你把try去掉看看

使用道具 举报

回复
招聘 : 产品经理/专员
论坛徽章:
67
管理团队2006纪念徽章
日期:2006-04-16 22:44:452012新春纪念徽章
日期:2012-01-04 11:50:442012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:25版主1段
日期:2012-05-15 15:24:112013年新春福章
日期:2013-02-25 14:51:24夏利
日期:2013-10-10 13:12:33
18#
发表于 2006-10-1 11:46 | 只看该作者
最初由 sdusun 发布
[B]斑竹老大:
经“监视”发现
[PHP]
sqlConnection        错误: 标识符“sqlConnection”超出范围       
dataSet        错误: 标识符“dataSet”超出范围               
[/PHP] [/B]


这个不是错误,因为你定义了一个内部变量

使用道具 举报

回复
招聘 : 产品经理/专员
论坛徽章:
67
管理团队2006纪念徽章
日期:2006-04-16 22:44:452012新春纪念徽章
日期:2012-01-04 11:50:442012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:25版主1段
日期:2012-05-15 15:24:112013年新春福章
日期:2013-02-25 14:51:24夏利
日期:2013-10-10 13:12:33
19#
发表于 2006-10-1 13:37 | 只看该作者
今天很巧合,刚好我写的程序运行2个月了,今天也报了你这个错误,我一看,就是 dataset里面没有数据的原因

使用道具 举报

回复
论坛徽章:
44
青年奥林匹克运动会-自行车
日期:2014-09-12 22:37:432012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:09咸鸭蛋
日期:2012-01-08 14:47:322012新春纪念徽章
日期:2012-01-04 11:50:44ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15迷宫蛋
日期:2011-08-14 17:30:33双黄蛋
日期:2011-05-28 20:32:46紫蛋头
日期:2011-05-18 20:41:51现任管理团队成员
日期:2011-05-07 01:45:08
20#
 楼主| 发表于 2006-10-1 22:47 | 只看该作者
最初由 mo_yuan_ming 发布
[B]


晕菜!
看看你的代码 怎么SqlClient和OracleClient在混着用
你的代码不可能执行成功的 不信你把try去掉看看 [/B]


呵呵,版主看好了,这里的sqlConnection是OracleConnection的一个实例,并不是SQLServer的;同样还有sqlCommand与sqlParameter。

如果您指的是我既using System.Data.SqlClient   又using System.Data.OracleClient 混着用的话,那就是我得这个Web服务要实现多种数据库的动态链接,包括Oracle、SQLServer、Access;今天刚实现!呵呵

我不会犯这种低级失误的,谢谢指教!

使用道具 举报

回复

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

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表