簡體   English   中英

嘗試插入數據時出現運行時錯誤

[英]Run time error while trying to insert data

我正在准備將數據插入到Microsoft數據庫中,但是會拋出此運行時錯誤

“'date'附近的語法不正確。\\ r \\ n必須聲明標量變量\\“ @ \\”。

在此行Cmd.ExecuteNonQuery();

這是我的代碼

        public void InsertInventory(DateTime _date, int _customer_Id,
                            int _employee_Id, List<int> _product_Id,
                            List<int> _amountSold,
                            List<int> _unitPrice, List<int> _totalPrice)
    {
        Connection_String = @"Data Source=MOSTAFA-PC;Initial Catalog="
                           + "Sales and Inventory System"
                           + ";Integrated Security=TrueData Source=MOSTAFA-PC;Initial Catalog="
                           + "Sales and Inventory System"
                           + ";Integrated Security=True;";

        Query = "insert into Inventory" +
                  "(Customer_Id,Employee_Id,Product_Id,[Date],[Amount Sold],[Unit Price],[Total Price])" +
                    "values (@customer_id,@Employee_id,@Product_id,@[Date],@[Amount_Sold],@[Unit_Price],@[Total_Price])";

        using (Con = new SqlConnection(Connection_String))
        using (Cmd = new SqlCommand(Query, Con))
        {
            Cmd.Parameters.Add("@customer_id", SqlDbType.Int);
            Cmd.Parameters.Add("@Employee_id", SqlDbType.Int);
            Cmd.Parameters.Add("@Product_id", SqlDbType.Int);
           //Cmd.Parameters.Add("@[Date]", SqlDbType.NVarChar);
            Cmd.Parameters.Add("@[Date]", SqlDbType.Date);
            Cmd.Parameters.Add("@[Amount_sold]", SqlDbType.Int);
            Cmd.Parameters.Add("@[Unit_Price]", SqlDbType.Decimal);
            Cmd.Parameters.Add("@Total_Price", SqlDbType.Decimal);

            Cmd.Connection = Con;
            Con.Open();

            int RecordToAdd = _product_Id.Count;

            for (int i = 0; i < RecordToAdd; i++)
            {
                Cmd.Parameters["@customer_id"].Value = _customer_Id;
                Cmd.Parameters["@Employee_id"].Value = _employee_Id;
                Cmd.Parameters["@[Date]"].Value = _date;
                Cmd.Parameters["@Product_id"].Value = _product_Id[i];  
                Cmd.Parameters["@[Amount_sold]"].Value = _amountSold[i];
                Cmd.Parameters["@[Unit_Price]"].Value = _unitPrice[i];
                Cmd.Parameters["@Total_Price"].Value = _totalPrice[i];
                Cmd.ExecuteNonQuery();
            }
        }

我該怎么辦?

對於參數名稱,不需要用[]換行,您可以只使用@ Date,@ AmountSold,@ UnitPrice,@ TotalPrice。 只要確保在語句和參數列表中都將其修復即可

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM