SQL数据库中的单选按钮值

本文关键字:单选按钮 数据库 SQL | 更新日期: 2023-09-27 17:53:55

我正在使用Visual Studio 2013与SQL数据库进行基本网站的工作。在报名表格上有单选按钮选择男性或女性。我用的是asp.net。

<div class="radio-inline" style="padding-left: 0px;">
    <label class="labelinput">Gender:</label>
    <label class="radio-inline">
        <input class="radio" type="radio" value="male" id="male"     
            name="gender" checked="checked"/>
        <p style="margin: 0; padding-left: 20px; color: black; 
            font-size: 1.4em;">Male</p>
    </label>
    <label class="radio-inline">
        <input class="radio" type="radio" value="female" id="female" name="gender" />
        <p style="margin: 0; padding-left: 20px; color: black;
            font-size: 1.4em;">Female</p>
    </label>
</div>

我试着做的是在数据库中添加一列"性别"。然后在c#部分我这样写:

string gender = Request.Form["gender"];

我使用一个包含连接到数据库的函数的类。这个班的名字是"Eitan"。其中一个功能是连接到数据库并执行sql行:

public static void DoQuery(string fileName, string sql)
{
    SqlConnection conn = ConnectToDb(fileName);
    conn.Open();
    SqlCommand com = new SqlCommand(sql, conn);
    com.ExecuteNonQuery();
    com.Dispose();
    conn.Close();
}

我的sql行是:

string sql;
sql = "insert into users(fullname, username, password, email, cell, birthday, adress, gender)";
sql += " values('" + fullname + "','" + username + "','" + password + "','" + email + "','" + cell + "','" + birthday + "','" + adress + "','" + gender + "')";

(我有更多的性别)文件名(数据库文件名):

string filename = "database.mdf";

所以我使用文件名和sql语句的函数,当我填写表单并按提交时,它会将我带回到函数DoQuery中的'com.ExecuteNonQuery();'并显示此错误:

类型为"System.Data.SqlClient"的异常。在System.Data.dll中发生,但未在用户代码中处理。附加信息:无效的列名"gender"。

你知道我该怎么做吗?

SQL数据库中的单选按钮值

1-确保Users表列
(fullname, username, password, email, cell, birthday, adress, gender)
2-使用"存储过程"或以下代码进行crud操作(也用于SQL注入攻击)

String sql = "INSERT INTO USERS (fullname, username, password, email, cell, birthday, adress, gender)  
     VALUES(@fullname,@username,@password, @email,@cell,@birthday,@adress, @gender)";
SqlCommand command = new SqlCommand(sql, db.Connection);
command.Parameters.Add("@fullname",fullname);
command.Parameters.Add("@username",username);
command.Parameters.Add("@password",password);
command.Parameters.Add("@email",email);
command.Parameters.Add("@cell",cell);
command.Parameters.Add("@birthday",birthday);
command.Parameters.Add("@adress",adress);
command.Parameters.Add("@gender",gender);
command.ExecuteNonQuery();