vb.net-使用数据集填充数据适配器时出错

vb.net-使用数据集填充数据适配器时出错,vb.net,dataset,dataadapter,Vb.net,Dataset,Dataadapter,下面是我的代码: myCommand = New SqlCommand("SELECT VisitorID, VisitorName, Skill FROM tblVisitor LEFT JOIN tblSkill ON tblVisitor.SkillID = tblSkill.SkillID", myConnection) myAdapter = New SqlDataAdapter(myCommand) myAdapter.Fill(myDataSet, "tblVisito

下面是我的代码:

myCommand = New SqlCommand("SELECT VisitorID, VisitorName, Skill FROM tblVisitor LEFT JOIN tblSkill ON tblVisitor.SkillID = tblSkill.SkillID", myConnection)
   myAdapter = New SqlDataAdapter(myCommand)
   myAdapter.Fill(myDataSet, "tblVisitor")
   tblView.DataSource = myDataSet.Tables(0)
然后它捕捉到一个错误,即“附近的语法不正确,它指向的是
myAdapter.Fill(myDataSet,“tblVisitor”)
而不是Select命令


请提供帮助。

您是否为数据集创建了实例

参考此


DataAdapter.Fill
上引发异常是一种正常行为,而不是在构建SqlCommand时引发异常。因为
Fill
是ADO.NET查询数据库的第一个点

“附近的语法不正确”后面是什么?因为通常数据库会提示您在SQL语句中查找错误的位置

如果您的模型与此测试模型相似,则您的SQl语句似乎是正确的:

declare  @tblVisitor table(
    VisitorID int,
    VisitorName varchar(100),
    SkillID int
)
declare @tblSkill table(
    SkillID int,
    Skill int
)

INSERT INTO @tblVisitor VALUES(1,'Name1',1);
INSERT INTO @tblVisitor VALUES(2,'Name2',2);
INSERT INTO @tblVisitor VALUES(3,'Name3',3);

INSERT INTO @tblSkill VALUES(1,100);
INSERT INTO @tblSkill VALUES(2,200);
INSERT INTO @tblSkill VALUES(3,300);

SELECT VisitorID, VisitorName, Skill
FROM   @tblVisitor tblVisitor LEFT JOIN
       @tblSkill tblSkill ON tblVisitor.SkillID = tblSkill.SkillID
结果是:

VisitorID   VisitorName  Skill
   1          Name1       100
   2          Name2       200
   3          Name3       300

尝试在sql server上检查您的语句,以找出语句中的哪部分不是wright。检查语句中的所有列是否也存在于db中。错误指向fill语句,因为这是执行selectCommand的位置。因此错误必须在语句中。当然,我将其声明为全局变量可以。当我将sql语句从
“SELECT*from tblVisitor”
更改为上述sql语句时,问题就出现了。前一个sql语句运行良好