在声明C#之前不能使用'Int32'

时间:2013-07-06 06:25:18

标签: c# dataset

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;


public class StockMainDL
{
    string conString = "Data Source=KamranAhmed\\SQLEXPRESS;Initial Catalog=City_Car;Integrated Security=True";
    SqlConnection con;
    SqlCommand com;
    SqlDataAdapter da;
    DataSet ds;

    public StockMainDL()
    {
        con = new SqlConnection(conString);
        con.Open();
    }


    public List<StockMain> GetChartData(string mode)
    {
        List<StockMain> stockMain = new List<StockMain>();

        string query = "SELECT * FROM StockMain";
        com = new SqlCommand(query);
        da = new SqlDataAdapter(query, con);
        da.Fill(ds);


        foreach (DataRow item in ds.Tables[0].Rows)
        {

            stockMain.Add(new StockMain(Int32.Parse(item["Stid"]), Int32.Parse(item["Vrno"]), Int32.Parse(item["Vrnoa"]), Convert.ToDateTime(item["Vrdate"]), item["Party_id"].ToString(), item["Bilty_No"].ToString(), Convert.ToDateTime(item["Bilty_Date"]), item["Received_By"].ToString(), item["Transporter_id"].ToString(), item["Remarks"].ToString(), Int32.Parse(item["Year_Srno"]), item["EType"].ToString(), Int32.Parse(item["NAmount"]), Int32.Parse(item["UId"]), Int32.Parse(item["VrNo"]), Int32.Parse(item["OrderVrNo"]), Int32.Parse(item["Freight"]), item["Party_Id_Co"].ToString(), Int32.Parse(item["SaleBillNo"]), float Discp, float Discount, Int32.Parse(item["Currency_Id"]), float Expense, Int32.Parse(item["Company_Id"]), item["Vehicle_Id"].ToString(), Convert.ToBoolean(Item["IsEditted"]), Convert.ToBoolean(Item["IsNew"]), Convert.ToBoolean(Item["IsDeleted"])));

        }

        return stockMain;
    }
}

上面是我用来首先从数据库获取数据集并将此数据集转换为List然后返回此列表的代码。我遇到的问题是,在foreach循环中它给出了这个错误“在声明之前不能使用'Int32'”,我试图使用Convert.ToInt32()它为“转换”提供相同的错误。

任何人都可以告诉我我做错了什么吗? 感谢

1 个答案:

答案 0 :(得分:4)

您在FOR循环中使用Item而不是item来获取少量参数。那就是抛出这个错误。请记住,使用的变量是区分大小写的