Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# TableAdapter GetData方法失败_C#_Sql_Winforms - Fatal编程技术网

C# TableAdapter GetData方法失败

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,

我正在使用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;

默认查询是否返回与自定义查询相同的列数?直接在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;
    }