C#与access连接时出现至少一个参数没有被指定值,这怎么改,急啊

usingSystem;usingSystem.Data;usingSystem.Data.OleDb;usingSystem.Collections.Generic;u... using System;
using System.Data;
using System.Data.OleDb;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DataSet
{
class Program
{
static void Main(string[] args)
{ // Creat conection object for Microsoft Access OLE DB Provider;
//note @ sign prefacing string literal so backslashes in path name;
//work
OleDbConnection thisConnection = new OleDbConnection(
@"provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\c#教程\协和医院.mdb");
// Creat DataAdapter object
OleDbDataAdapter thisAdapter = new OleDbDataAdapter(
"SELECT 姓名,性别,年龄,学位,职称,从业年数,何时进修,进修地点 FROM Sheet1", thisConnection);
// Create DataSet to contain related data tables,rows and columns
System.Data.DataSet thisDataSet = new System.Data.DataSet();
//Fill DataSet using query defined previously for DataAdapter
thisAdapter.Fill(thisDataSet, "Sheet1" );
foreach (DataRow theRow in thisDataSet.Tables["Sheet1 "].Rows)
{
Console.WriteLine(theRow["姓名"] + "\t" +
theRow[" 性别 "] + "\t" + theRow["年龄"] + "\t" +
theRow[" 学位 "] + "\t" +
theRow[" 职称 "] + "\t" +
theRow[" 从业年数"] + "\t" +
theRow[" 何时进修"] + "\t" +
theRow[" 进修地点"]);
}
thisConnection.Close();
Console.Write("Program finished,press Enter /Return to continue:");
Console.ReadLine();
}

}
}

每次运行都提示至少有一个参数没有被指定值,不知道怎么改啊,希望大家帮忙啊
thisAdapter.Fill(thisDataSet, "Sheet1" );总是说“至少有一个参数没有被指定值”
展开
 我来答
百度网友35a61dd
2010-08-14 · 超过18用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:32.9万
展开全部
我知道你那里错了,你的数据是从Excel表格导入到Access中的,但是字段名没有像Access数据库中看上去那样改过来了

你将sql语句改为
select 字段1,字段2,字段3,字段4,字段5,字段6,字段7,字段8 from Sheet1
这样就没问题了,我试过了
其实用一句
select * from Sheet1
完全导出数据表(包括ID)

你要是要用那一段sql语句,我建议你到Access数据库中,将字段名更改过来,这样以后好用
大雅新科技有限公司
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,... 点击进入详情页
本回答由大雅新科技有限公司提供
轰酱max
2010-08-11 · TA获得超过254个赞
知道小有建树答主
回答量:217
采纳率:0%
帮助的人:163万
展开全部
thisAdapter.Fill(thisDataSet, "Sheet1" );这只是把表填充到数据集中,没有把表填充到datatable里面
thisAdapter.Fill(thisDataSet, "Sheet1" );下面增加一句

datatable dt=thisDataSet.tables["Sheet1"];
然后吧theRow改成dt.Rows
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangbenson
2010-08-12 · TA获得超过161个赞
知道答主
回答量:283
采纳率:0%
帮助的人:193万
展开全部
是不是datatable中某列不允许为null,列的数据中有null呀
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
edwin5200
2010-08-11 · TA获得超过153个赞
知道小有建树答主
回答量:174
采纳率:0%
帮助的人:144万
展开全部
请检查一下你的select语句中的字段。数据库中都有。
SELECT 姓名,性别,年龄,学位,职称,从业年数,何时进修,进修地点 FROM Sheet1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式