亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Sql C#附近語法不正確

Sql C#附近語法不正確

C#
冉冉說 2022-11-21 16:52:22
我試圖制作一個代碼,將我所有的數據從網格插入到表格中。在網格中我顯示我需要的東西,這不是問題,或者它沒有給出錯誤顯示此錯誤:System.Data.SqlClient.SqlException:“{”附近的語法不正確string StrQuery;                try                {                    using (SqlConnection conn = new SqlConnection(stringcon))                    {                        using (SqlCommand comm = new SqlCommand())                        {                            comm.Connection = conn;                            conn.Open();                            for (int i = 1; i < bunifuCustomDataGrid2.Rows.Count; i++)                            {                           StrQuery = @"INSERT INTO concediati VALUES ("                            + bunifuCustomDataGrid2.Rows[i].Cells["firstname"].ToString() + ", "                             + bunifuCustomDataGrid2.Rows[i].Cells["lastname"].ToString() + ", "                             + bunifuCustomDataGrid2.Rows[i].Cells["CARS"].ToString() + ", "                             + bunifuCustomDataGrid2.Rows[i].Cells["RENT"].ToString() + ", "                            + bunifuCustomDataGrid2.Rows[i].Cells["CLIENT"].ToString() + ");";                        comm.CommandText = StrQuery;                        comm.ExecuteNonQuery();                            }                        }                    }                }                catch (Exception)                {                    throw;                }更新了參數。string StrQuery;            try            {                using (SqlConnection conn = new SqlConnection(stringcon))                {                    using (SqlCommand comm = new SqlCommand())                    {                        comm.Connection = conn;                        conn.Open();                        }                    }                }            }現在它給出了一個不同的錯誤:System.FormatException:“輸入字符串的格式不正確?!眻D片: capture1 capture25 capture25 capture25 capture5
查看完整描述

3 回答

?
HUH函數

TA貢獻1836條經驗 獲得超4個贊

bunifuCustomDataGrid2.Rows[i].Cells["firstname"].ToString())為您提供方法的重寫實現ToString。這意味著您沒有從上面的代碼中獲得實際值。你應該bunifuCustomDataGrid2.Rows[i].Cells["firstname"].Value改用。

如果有幫助,請標記為已回答。


查看完整回答
反對 回復 2022-11-21
?
江戶川亂折騰

TA貢獻1851條經驗 獲得超5個贊

我檢查了您的代碼并進行了此更改。您可以使用以下代碼。


 string StrQuery;

        try

        {

            using (SqlConnection conn = new SqlConnection(stringcon))

            {


                    for (int i = 0; i < bunifuCustomDataGrid2.Rows.Count; i++)

                    {

                        SqlCommand comm = new SqlCommand();

                        comm.Connection = conn;

                        StrQuery = @"INSERT INTO concediati(nume,prenume,idcar,idrent,idclient) VALUES (@name,@lastname,@car,@rent,@client)";

                        comm.Parameters.AddWithValue("@name", Convert.ToString(bunifuCustomDataGrid2.Rows[i].Cells["firstname"].ToString()));

                        comm.Parameters.AddWithValue("@lastname", Convert.ToString(bunifuCustomDataGrid2.Rows[i].Cells["lastname"].ToString()));

                        comm.Parameters.AddWithValue("@car", Convert.ToInt32(bunifuCustomDataGrid2.Rows[i].Cells["CARS"].ToString()));

                        comm.Parameters.AddWithValue("@rent", Convert.ToInt32(bunifuCustomDataGrid2.Rows[i].Cells["RENT"].ToString()));

                        comm.Parameters.AddWithValue("@client", Convert.ToInt32(bunifuCustomDataGrid2.Rows[i].Cells["CLIENT"].ToString()));


                        comm.CommandText = StrQuery;


                        conn.Open();

                        comm.ExecuteNonQuery();

                        conn.Close();


                    }

                }


        }

        catch (Exception ex)

        {

            throw;

        }


查看完整回答
反對 回復 2022-11-21
?
千萬里不及你

TA貢獻1784條經驗 獲得超9個贊

INSERT的文檔在表名和列列表之間顯示了一個空格,因此最好遵循該空格。


此外,您可以在循環外僅創建一次參數并在循環中設置它們的值(否則您需要對參數調用 .Clear() 并在每次迭代時重新創建它們):


string sql = @"INSERT INTO concediati (nume, prenume, idcar, idrent, idclient) VALUES (@name, @lastname, @car, @rent, @client)";

using (SqlConnection conn = new SqlConnection(stringcon))

{

    using (SqlCommand comm = new SqlCommand(sql, conn))

    {

        comm.Parameters.Add(new SqlParameter { ParameterName = "@name", SqlDbType = SqlDbType.VarChar, Size = 50 });

        comm.Parameters.Add(new SqlParameter { ParameterName = "@lastname", SqlDbType = SqlDbType.VarChar, Size = 50 });

        comm.Parameters.Add(new SqlParameter { ParameterName = "@car", SqlDbType = SqlDbType.Int });

        comm.Parameters.Add(new SqlParameter { ParameterName = "@rent", SqlDbType = SqlDbType.Int });

        comm.Parameters.Add(new SqlParameter { ParameterName = "@client", SqlDbType = SqlDbType.Int });


        conn.Open();


        for (int i = 0; i < bunifuCustomDataGrid2.Rows.Count; i++)

        {

            string firstName = Convert.ToString(bunifuCustomDataGrid2.Rows[i].Cells["firstname"].Value);

            string lastName = Convert.ToString(bunifuCustomDataGrid2.Rows[i].Cells["lastname"].Value);

            int car = Convert.ToInt32(bunifuCustomDataGrid2.Rows[i].Cells["CARS"].Value);

            int rent = Convert.ToInt32(bunifuCustomDataGrid2.Rows[i].Cells["RENT"].Value);

            int client = Convert.ToInt32(bunifuCustomDataGrid2.Rows[i].Cells["CLIENT"].Value);


            comm.Parameters["@name"].Value = firstName;

            comm.Parameters["@lastname"].Value = lastName;

            comm.Parameters["@car"].Value = car;

            comm.Parameters["@rent"].Value = rent;

            comm.Parameters["@client"].Value = client;


            comm.ExecuteNonQuery();


        }

    }

}


查看完整回答
反對 回復 2022-11-21
  • 3 回答
  • 0 關注
  • 180 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號