C# 如何将数据插入sql server数据库

C# 如何将数据插入sql server数据库,c#,sql,asp.net,sql-server,sql-server-2014,C#,Sql,Asp.net,Sql Server,Sql Server 2014,我试图将数据插入SQL Server 2014数据库,但出现错误 “')附近的语法不正确 我的表与我输入的数据类型相匹配,例如,我将int放入int中 这是我的密码: string ip = Request.UserHostAddress; string name = "Jesus said: Love your Enemies (V.S.)"; int blueq = Convert.ToInt32(TextBox1.Text); int redq = Convert.ToInt32(Tex

我试图将数据插入SQL Server 2014数据库,但出现错误

“')附近的语法不正确

我的表与我输入的数据类型相匹配,例如,我将
int
放入
int

这是我的密码:

string ip = Request.UserHostAddress;
string name = "Jesus said: Love your Enemies (V.S.)";

int blueq = Convert.ToInt32(TextBox1.Text);
int redq = Convert.ToInt32(TextBox2.Text);
int whiteq = Convert.ToInt32(TextBox3.Text);
int blackq = Convert.ToInt32(TextBox4.Text);
int whiteqr = Convert.ToInt32(TextBox9.Text);
int redqr = Convert.ToInt32(TextBox10.Text);
int sn = 600;
int price = total_jslye;

string size; 

if (RadioButton1.Checked == false)
{
    size = "11x35";
}
else
    size = "18x50";

try
{
    string conn = System.Configuration.ConfigurationManager.ConnectionStrings["SQLCS"].ConnectionString;
    var cmd = "INSERT INTO cartsigns (@SignNumber, @redquantity, @bluequantity, @whitequantity, @blackquantity, @whitereflectivequantity, @redreflectivequantity, @size, @SignName, @ipaddress, @price)";

    using (SqlConnection com = new SqlConnection(conn))
    {
        using (SqlCommand cmds = new SqlCommand(cmd, com))
        {
            cmds.Parameters.AddWithValue("@SignNumber", sn);
            cmds.Parameters.AddWithValue("@redquantity", redq);
            cmds.Parameters.AddWithValue("@bluequantity", blueq);
            cmds.Parameters.AddWithValue("@whitequantity", whiteq);
            cmds.Parameters.AddWithValue("@blackquantity", blackq);
            cmds.Parameters.AddWithValue("@whitereflectivequantity", whiteqr);
            cmds.Parameters.AddWithValue("@redreflectivequantity", redqr);
            cmds.Parameters.AddWithValue("@size", size);
            cmds.Parameters.AddWithValue("@SignName", name);
            cmds.Parameters.AddWithValue("@ipaddress", ip);
            cmds.Parameters.AddWithValue("@price", price);

            com.Open();
            cmds.ExecuteNonQuery();
        }  
    }
}

因此,请提供帮助,谢谢

在SQL Server中,您的参数名称不能包含括号或空格。因此,将它们全部重命名为@SignNumber、@redquantity、@bluequantity。。。等等。

在SQL Server中,您的参数名不能包含括号或空格。因此,将它们全部重命名为@SignNumber、@redquantity、@bluequantity。。。等等。

您的插入语法不正确。您没有提供列名,而且查询中缺少关键字“Values”

您的插入语法不正确。您还没有给出列名,查询中缺少关键字“Values”

请尝试此代码。你会得到你想要的结果。您在代码中遇到的问题是,参数不应该有任何空格、括号或任何使参数名称格式不正确的字符。参数名称必须以“@”字符开头,并应遵循对象标识符的规则。有关更多详细信息,请查看

    string ip = Request.UserHostAddress;
    string name = "first sign";
    int blueq = Convert.ToInt32(TextBox1.Text);
    int redq = Convert.ToInt32(TextBox2.Text);
    int whiteq = Convert.ToInt32(TextBox3.Text);
    int blackq = Convert.ToInt32(TextBox4.Text);
    int whiteqr = Convert.ToInt32(TextBox9.Text);
    int redqr = Convert.ToInt32(TextBox10.Text);
    int sn = 600;
    int price = total_jslye;


    string size; 
    if (RadioButton1.Checked == false)
    {
        size = "11x35";
    }
    else
        size = "18x50";

        try
        {
            string conn = System.Configuration.ConfigurationManager.ConnectionStrings["SQLCS"].ConnectionString;




            var cmd = "INSERT INTO cartsigns ([Sign Number],[red quantity],[blue quantity],[white quantity],[black quantity],[white reflective quantity],[red reflective quantity],[size],[Sign Name],[ipaddress],[price]) values (@[Sign_Number],@[red_quantity],@[blue_quantity], @[white_quantity],@[black_quantity],@[white_reflective_quantity],@[red_reflective_quantity],@[size],@[Sign_Name],@[ipaddress],@[price])";

            using (SqlConnection com = new SqlConnection(conn))
            {
                using (SqlCommand cmds = new SqlCommand(cmd, com))
                {
                    cmds.Parameters.AddWithValue("@[Sign_Number]", sn);
                    cmds.Parameters.AddWithValue("@[red_quantity]", redq);
                    cmds.Parameters.AddWithValue("@[blue_quantity]", blueq);
                    cmds.Parameters.AddWithValue("@[white_quantity]", whiteq);
                    cmds.Parameters.AddWithValue("@[black_quantity]", blackq);
                    cmds.Parameters.AddWithValue("@[white_reflective_quantity]", whiteqr);
                    cmds.Parameters.AddWithValue("@[red_reflective_quantity]", redqr);
                    cmds.Parameters.AddWithValue("@[size]", size);
                    cmds.Parameters.AddWithValue("@[Sign_Name]", name);
                    cmds.Parameters.AddWithValue("@[ipaddress]", ip);
                    cmds.Parameters.AddWithValue("@[price]", price);


                    com.Open();
                    cmds.ExecuteNonQuery();

                }
            }
        }
        catch
        {
            throw;
        }

试试这个代码。你会得到你想要的结果。您在代码中遇到的问题是,参数不应该有任何空格、括号或任何使参数名称格式不正确的字符。参数名称必须以“@”字符开头,并应遵循对象标识符的规则。有关更多详细信息,请查看

    string ip = Request.UserHostAddress;
    string name = "first sign";
    int blueq = Convert.ToInt32(TextBox1.Text);
    int redq = Convert.ToInt32(TextBox2.Text);
    int whiteq = Convert.ToInt32(TextBox3.Text);
    int blackq = Convert.ToInt32(TextBox4.Text);
    int whiteqr = Convert.ToInt32(TextBox9.Text);
    int redqr = Convert.ToInt32(TextBox10.Text);
    int sn = 600;
    int price = total_jslye;


    string size; 
    if (RadioButton1.Checked == false)
    {
        size = "11x35";
    }
    else
        size = "18x50";

        try
        {
            string conn = System.Configuration.ConfigurationManager.ConnectionStrings["SQLCS"].ConnectionString;




            var cmd = "INSERT INTO cartsigns ([Sign Number],[red quantity],[blue quantity],[white quantity],[black quantity],[white reflective quantity],[red reflective quantity],[size],[Sign Name],[ipaddress],[price]) values (@[Sign_Number],@[red_quantity],@[blue_quantity], @[white_quantity],@[black_quantity],@[white_reflective_quantity],@[red_reflective_quantity],@[size],@[Sign_Name],@[ipaddress],@[price])";

            using (SqlConnection com = new SqlConnection(conn))
            {
                using (SqlCommand cmds = new SqlCommand(cmd, com))
                {
                    cmds.Parameters.AddWithValue("@[Sign_Number]", sn);
                    cmds.Parameters.AddWithValue("@[red_quantity]", redq);
                    cmds.Parameters.AddWithValue("@[blue_quantity]", blueq);
                    cmds.Parameters.AddWithValue("@[white_quantity]", whiteq);
                    cmds.Parameters.AddWithValue("@[black_quantity]", blackq);
                    cmds.Parameters.AddWithValue("@[white_reflective_quantity]", whiteqr);
                    cmds.Parameters.AddWithValue("@[red_reflective_quantity]", redqr);
                    cmds.Parameters.AddWithValue("@[size]", size);
                    cmds.Parameters.AddWithValue("@[Sign_Name]", name);
                    cmds.Parameters.AddWithValue("@[ipaddress]", ip);
                    cmds.Parameters.AddWithValue("@[price]", price);


                    com.Open();
                    cmds.ExecuteNonQuery();

                }
            }
        }
        catch
        {
            throw;
        }

好的帖子,为了让你的问题达到最佳效果,请确保在帖子的正文中澄清你的问题,并添加一些你尝试过的例子。你可以随时更新你的问题。欢迎来到stack overflow,推荐阅读:我从未尝试过这么做,但我认为您不能使用[…]声明参数,请尝试删除空格并像@SignNumber那样声明它们,而不使用空格为什么不使用标准方法?检查并阅读最后的示例。请参阅命名标识符的规则。“我是说……真的?!”:-/这显然只是“语言编译器从总线上掉下来的情况”。您犯了语法错误。编译器在解析令牌
int
后不久检测到错误,因此抛出了一条“丢弃错误消息”(这实际上毫无意义)。编译器一直在做这样的事情。我可以从这里发现语法错误。好的帖子,为了让你的问题达到最佳效果,请确保在帖子的正文中澄清你的问题,并添加一些你尝试过的例子。你可以随时更新你的问题。欢迎来到stack overflow,推荐阅读:我从未尝试过这么做,但我认为您不能使用[…]声明参数,请尝试删除空格并像@SignNumber那样声明它们,而不使用空格为什么不使用标准方法?检查并阅读最后的示例。请参阅命名标识符的规则。“我是说……真的?!”:-/这显然只是“语言编译器从总线上掉下来的情况”。您犯了语法错误。编译器在解析令牌
int
后不久检测到错误,因此抛出了一条“丢弃错误消息”(这实际上毫无意义)。编译器一直在做这样的事情。我可以从这里发现语法错误。好的,这很有帮助,我去掉了数据库和我的网站中的所有空格和括号。但它也有同样的错误,只是说“)”而不是“int”。有什么想法吗?我想你应该用当前代码更新你的问题。是否已对所有括号进行了三次检查?插入语句中缺少关键字值。var cmd=“插入cartsigns值(@SignNumber、@redquantity、@bluequantity、@whitequantity、@blackquantity、@whitereflectivequantity、@redreflectivequantity、@size、@SignName、@ipaddress、@price)”;好的,这很有帮助,我去掉了数据库和我的网站中的所有空格和括号。但它也有同样的错误,只是说“)”而不是“int”。有什么想法吗?我想你应该用当前代码更新你的问题。是否已对所有括号进行了三次检查?插入语句中缺少关键字值。var cmd=“插入cartsigns值(@SignNumber、@redquantity、@bluequantity、@whitequantity、@blackquantity、@whitereflectivequantity、@redreflectivequantity、@size、@SignName、@ipaddress、@price)”;