代码之家  ›  专栏  ›  技术社区  ›  Thanatos

应用程序没有运行它在我启动后就崩溃了

  •  0
  • Thanatos  · 技术社区  · 8 年前

    我有个问题,这是我的代码:

    DataTable DT1 = new DataTable();
    
    public static DataTable DATASETRETURN(string queryString)
    {
        DataSet DS = new DataSet();
    
        SqlDataAdapter adapter = new SqlDataAdapter
                {
                    SelectCommand = new SqlCommand(queryString, CLSERVICES.CON)
                };
        adapter.Fill(DS, "TABLE");
    
        return DS.Tables["TABLE"];
    }
    
    private void FE_C_HISTORIQUE_Load(object sender, EventArgs e)
    {
        E_HISTORIQUE_LV_HISTORIQUE_04.Items.Clear();
        string req = "select H.NHistorique, P.Intitulle, H.QuantiteVendu, P.PrixVente,"+
                     "(P.PrixVente * H.QuantiteVendu) as PQ, H.TypeAction, H.DateAction " +
                     "from HISTORIQUE as H, PRODUIT as P" +
                     "where (P.NProduit = H.NProduit)"+
                     "order by H.NHistorique desc";
        DT1 = DATASETRETURN(req);
    
        for (int i = 0; i < DT1.Rows.Count; i++)
        {
            ListViewItem LV = new ListViewItem(DT2.Rows[i][0].ToString());
            LV.SubItems.Add(DT1.Rows[i][1].ToString());
            LV.SubItems.Add(DT1.Rows[i][2].ToString());
            LV.SubItems.Add(DT1.Rows[i][3].ToString());
            LV.SubItems.Add(DT1.Rows[i][4].ToString());
            LV.SubItems.Add(DT1.Rows[i][5].ToString());
            LV.SubItems.Add(DT1.Rows[i][6].ToString());
    
            E_HISTORIQUE_LV_HISTORIQUE_04.Items.Add(LV);
        }
    } 
    

    DATASETRETURN 排队

    adapter.Fill(DS, "TABLE");
    

    错误是:

    系统数据SqlClient。SqlException

    有什么解决办法吗?

    1 回复  |  直到 8 年前
        1
  •  1
  •   Noxthron    8 年前

    “P\u where”和“H.NProduit)\u顺序之间缺少空格导致的问题

    指定多行查询时,我更喜欢:

    string req = @"
      select H.NHistorique,P.Intitulle,H.QuantiteVendu,P.PrixVente,
       (P.PrixVente*H.QuantiteVendu)as PQ,H.TypeAction,H.DateAction
      from HISTORIQUE as H, PRODUIT as P
      where(P.NProduit = H.NProduit)
      order by H.NHistorique  desc
    ";
    

    这样可以减少查询中遗漏新行的机会。