C# TableAdapter GetData方法失败
我正在使用TableAdapter来填充DataTable。 TableAdapter有两个查询:默认查询和连接多个表的查询。 当我使用默认值时,一切正常但是当我使用定制的(名为GetDataJoined)时,它会终止应用程序(没有异常、没有警告、没有任何内容)。我正在调试模式下运行应用程序 以下是SQL查询:C# TableAdapter GetData方法失败,c#,sql,winforms,C#,Sql,Winforms,我正在使用TableAdapter来填充DataTable。 TableAdapter有两个查询:默认查询和连接多个表的查询。 当我使用默认值时,一切正常但是当我使用定制的(名为GetDataJoined)时,它会终止应用程序(没有异常、没有警告、没有任何内容)。我正在调试模式下运行应用程序 以下是SQL查询: SELECT Vozila.ID, Vozila.Registracija, Vozila.Vin, Vozila.Opis, Vozaci.ImePrezime,
SELECT
Vozila.ID, Vozila.Registracija, Vozila.Vin, Vozila.Opis,
Vozaci.ImePrezime, MarkaVozilo.Text, TipVozilo.Opis AS Expr1
FROM Vozila
LEFT OUTER JOIN Vozaci ON Vozila.VozacId = Vozaci.ID
LEFT OUTER JOIN MarkaVozilo ON Vozila.MarkaId = MarkaVozilo.ID
LEFT OUTER JOIN TipVozilo ON Vozila.TipId = TipVozilo.ID
以下是失败的代码:
VozilaDataSet fullView = new VozilaDataSet();
VozilaTableAdapter adapter = new VozilaTableAdapter();
DataTable table = new DataTable();
table=adapter.GetDataJoined(); //<-- the execution hangs for a while here, and then terminates
grdVozila.DataSource = table;
默认查询是否返回与自定义查询相同的列数?直接在DB上执行此查询时是否返回任何内容?@MIlen否,这两个查询的列数不同。这是一个问题吗?您是否尝试用try..catch和catch异常来包围
适配器.GetDataJoined()
调用?是:
public virtual VozilaDataSet.VozilaDataTable GetDataJoined() {
this.Adapter.SelectCommand = this.CommandCollection[1];
VozilaDataSet.VozilaDataTable dataTable = new VozilaDataSet.VozilaDataTable();
this.Adapter.Fill(dataTable);
return dataTable;
}