| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1016 人关注过本帖
标题:[求助]关于mycom.ExecuteScalar,每次运行到此都报错!
只看楼主 加入收藏
zzrb
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2006-2-22
收藏
 问题点数:0 回复次数:7 
[求助]关于mycom.ExecuteScalar,每次运行到此都报错!
qh8meS43.rar (62.35 KB) [求助]关于mycom.ExecuteScalar,每次运行到此都报错!


大家帮忙看看附件中的代码,在BUTTON控件的事件中每次都报错,代码如下:
private void button2_Click(object sender, System.EventArgs e)
{
string strcon ="provider=Microsoft.Jet.OLEDB.4.0;data source="+openFileDialog1.FileName+";Extended Properties=Excel 8.0;Persist Security Info=False";
OleDbConnection mycon = new OleDbConnection ( strcon ) ;
mycon.Open ( ) ;
OleDbCommand mycom=new OleDbCommand();
mycom.Connection=mycon;
mycom.CommandType=CommandType.Text;
mycom.CommandText="select count(*) as jls from "+this.comboBox1.Text;

mycom.ExecuteScalar();
statusBarPanel1.text=。。。。。。
}
运行到 mycom.ExecuteScalar();出错,不知为何,本意是想通过该按钮的单击事件得到当前打开的表的记录数,还少了些代码就时想把这个返回的记录数赋给statusBarPanel1.text属性,不知该如何写,请过目!
搜索更多相关主题的帖子: mycom Microsoft mycon strcon 
2006-03-14 09:21
ytyt654
Rank: 2
等 级:新手上路
威 望:4
帖 子:195
专家分:0
注 册:2006-2-13
收藏
得分:0 
把异常信息贴出来

private void button2_Click(object sender, System.EventArgs e)
{
string strcon ="provider=Microsoft.Jet.OLEDB.4.0;data source="+openFileDialog1.FileName+";Extended Properties=Excel 8.0;Persist Security Info=False";

try
{
OleDbConnection mycon = new OleDbConnection ( strcon ) ;
mycon.Open ( ) ;
OleDbCommand mycom=new OleDbCommand();
mycom.Connection=mycon;
mycom.CommandType=CommandType.Text;
mycom.CommandText="select count(*) as jls from "+this.comboBox1.Text;

mycom.ExecuteScalar();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
statusBarPanel1.text=。。。。。。
}

把异常捕获代码加进去, 重新运行一下, 看看具体是什么异常

[此贴子已经被作者于2006-3-14 10:04:43编辑过]


2006-03-14 09:51
zzrb
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2006-2-22
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

2006-03-14 10:00
唐伯猫
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:5323
专家分:58
注 册:2005-8-9
收藏
得分:0 
data source="+openFileDialog1.FileName+";可以是这个吗?

<iframe name="alimamaifrm" frameborder="0" marginheight="0" marginwidth="0" border="0" scrolling="no" width="300" height="170" src="/go/app/tbk_app/chongzhi_300_170.php?pid=mm_28854300_2441872_11377541&page=chongzhi_300_170.php&size_w=300&size_h=170&stru_phone=1&stru_game=1&stru_travel=1" ></iframe>
2006-03-14 10:55
zzrb
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2006-2-22
收藏
得分:0 
以下是引用唐伯猫在2006-3-14 10:55:00的发言:
data source="+openFileDialog1.FileName+";可以是这个吗?

为什么不可以是这个呢?通过openFileDialog控件得到一个路径,当然可以!请看一下顶楼的问题,多谢!

2006-03-14 14:27
zzrb
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2006-2-22
收藏
得分:0 
以下是引用ytyt654在2006-3-14 9:51:00的发言:
把异常信息贴出来

private void button2_Click(object sender, System.EventArgs e)
{
string strcon ="provider=Microsoft.Jet.OLEDB.4.0;data source="+openFileDialog1.FileName+";Extended Properties=Excel 8.0;Persist Security Info=False";

try
{
OleDbConnection mycon = new OleDbConnection ( strcon ) ;
mycon.Open ( ) ;
OleDbCommand mycom=new OleDbCommand();
mycom.Connection=mycon;
mycom.CommandType=CommandType.Text;
mycom.CommandText="select count(*) as jls from "+this.comboBox1.Text;

mycom.ExecuteScalar();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
statusBarPanel1.text=。。。。。。
}

把异常捕获代码加进去, 重新运行一下, 看看具体是什么异常

弹出的窗口提示FROM子句语法错误,通过openFileDialog1.FileName属性获取的是个EXCEL文件,而this.comboBox1.Text获取的表名后面带个$符号,是不是这个引起的错误!如果是该如何修改!

2006-03-14 14:58
ytyt654
Rank: 2
等 级:新手上路
威 望:4
帖 子:195
专家分:0
注 册:2006-2-13
收藏
得分:0 
mycom.CommandText="select count(*) as jls from "+this.comboBox1.Text;

用表名替换掉this.comboBox1.Text, 看看能不能正常运行.

string strTableName = "MyTableName"; // 用你的Excel表名替换掉"MyTableName"
mycom.CommandText="select count(*) as jls from "+ strTableName;



[此贴子已经被作者于2006-3-14 15:30:08编辑过]


2006-03-14 15:29
zzrb
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2006-2-22
收藏
得分:0 
以下是引用ytyt654在2006-3-14 15:29:00的发言:
mycom.CommandText="select count(*) as jls from "+this.comboBox1.Text;

用表名替换掉this.comboBox1.Text, 看看能不能正常运行.

string strTableName = "MyTableName"; // 用你的Excel表名替换掉"MyTableName"
mycom.CommandText="select count(*) as jls from "+ strTableName;




mycom.CommandText="select count(*) as jls from ["+this.comboBox1.Text+"]";
EXCEL表名的两边加上[]即可,多谢!

2006-03-14 17:10
快速回复:[求助]关于mycom.ExecuteScalar,每次运行到此都报错!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019750 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved