c# - 将数据写入数据库不起作用

标签 c# sql database

我在将数据保存到程序的本地数据库时遇到问题。它不会将用户输入的值存储在用户表中。可能是什么问题,下面是一些代码和图片。


public void addInformationToDatabase()
    {
        string Sex = ddlGender.Text;
        string Name = tbxName.Text;
        string DOB = tbxDOB.Text;

        string connectionString = WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;

        SqlConnection Con = new SqlConnection(connectionString);

        SqlCommand command = new SqlCommand();
        command.Connection = Con;
        command.CommandType = CommandType.Text;
        command.CommandText = "INSERT INTO User (Gender,Name,DOB) VALUES(@Sex,@Name,@DOB)";

        command.Parameters.AddWithValue("@Sex", Sex);
        command.Parameters.AddWithValue("@FirstName", Name);
        command.Parameters.AddWithValue("@DOB", DOB);

        try
        {
            Con.Open();
            command.ExecuteNonQuery();

        }
        catch (Exception ex)
        {
            Response.Write(ex.Message);
        }
        finally
        {
            Con.Close();
        }
    }

protected void btnNext_Click(object sender, EventArgs e)
    {
        addInformationToDatabase();
    }

ERROR

Were I want to store user information

User table

非常感谢任何帮助

最佳答案

用户是 reserved keyword对于 SQL 服务器。要使用它,您需要将它括在方括号中

 command.CommandText = "INSERT INTO [User] (Gender,Name,DOB) VALUES(@Sex,@Name,@DOB)";

如果您仍然可以更改该名称,我建议尽快进行,因为您每次使用该表时都必须记住这个问题

关于c# - 将数据写入数据库不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23314206/

相关文章:

java - 如何在 JavaDB Derby 数据库中存储 Java 对象?

sql - 如何在 sqlite 中使用 like 运算符进行复杂查询

php - 如何防止 PHP 中的 SQL 注入(inject)?

c# - 类没有实现接口(interface)成员

c# - 在 C# 中使用 SSE 是可能的吗?

C# - 元组和字典和列表有什么区别

iphone - OR 运算符在查询 sqlite iphone 中不起作用

php - 加载 MySQL 查询需要很多时间?如何高效调优数据库

持续集成中的数据库变更管理

c# - 如何在文本框上显示气球提示?