我正在使用TableAdapter来填充DataTable。 TableAdapter有两个查询:默认查询和一个连接多个表的查询。 当我使用默认值时,一切正常。 但是当我使用自定义的(名为GetDataJoined)时,它会终止应用程序(没有例外,没有警告,没有任何内容)。我正在调试模式下运行应用程序。
这是SQL查询:
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;
我正在使用MS Sql Server Express作为RDBMS。
[更新 - GetDataJoined()代码]
public virtual VozilaDataSet.VozilaDataTable GetDataJoined() {
this.Adapter.SelectCommand = this.CommandCollection[1];
VozilaDataSet.VozilaDataTable dataTable = new VozilaDataSet.VozilaDataTable();
this.Adapter.Fill(dataTable);
return dataTable;
}