c# - 将两个输入分配给 SQL 表的单个列
问题描述
我正在尝试使用小型表单收集用户的数据并将其插入到 Student 表 (db) 的列中。我能够插入除用户性别之外的所有信息,为此我使用了两个单选按钮(radioButton_male
和radioButton_female
)。
这是我使用的 C# 代码: 仪表板形式:
private void Btn_Register_Click(object sender, EventArgs e)
{
Obj.StudentName = textBox_studentName.Text;
Obj.Age = int.Parse(textBox_age.Text);
Obj.Gender_m = radioButton_male.Text;
Obj.Gender_f = radioButton_female.Text;
Obj.Contact = int.Parse(textBox_contact.Text);
bool success = Obj.studentAdd(Obj);
if (success)
{
MessageBox.Show("Saved");
}
}
学生班
public string StudentName { get; set; }
public int Age { get; set; }
public string Gender_m { get; set; }
public string Gender_f { get; set; }
public int Contact { get; set; }
_
public bool studentAdd(Student obj)
{
SqlConnection conn = new SqlConnection(myconnstring);
bool success = false;
try
{
string sql = "INSERT INTO Students(FullName, Gender, ContactNo, Age) VALUES (@FullName, @Gender, @ContactNo, @Age)";
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@FullName", StudentName);
cmd.Parameters.AddWithValue("@Gender", Gender_m);
cmd.Parameters.AddWithValue("@Gender", Gender_f);
cmd.Parameters.AddWithValue("@ContactNo", Contact);
cmd.Parameters.AddWithValue("@Age", Age);
conn.Open();
int row = cmd.ExecuteNonQuery();
if (row > 0)
{
success = true;
}
else
{
success = false;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
} finally
{
conn.Close();
}
return success;
}
我知道我不能简单地将两个条目分配给单个列,但我无法使用 If Else 或任何其他方式正确设置它。希望您能提供帮助。谢谢你。
解决方案
您的设计应该只保留一个记录学生性别的字段:
public string StudentName { get; set; }
public int Age { get; set; }
public string Gender { get; set; }
public int Contact { get; set; }
当您从 UI 收集表单数据时,您应该根据选择的单选按钮分配'M'
或分配。'F'
推荐阅读
- c# - WPF DataGrid 保存列宽
- javascript - npm 时刻 vs 经典 js 日期格式效率
- haskell - 如何将字符串转换为包含 Haskell 中每个字符的数组?
- python - cqlengine 和 cassandra-driver 查询语法 python-driver
- python - 为什么 napari 不会在 Google Colab 中显示我的图像数据?
- amazon-dynamodb - DynamoDB 在一张表中处理一对多对多
- php - 是否可以在 php 中使用数组声明变量值?
- angular - Angular 单元测试组件 ngIf 元素为 null
- wix - WiX 安装未选择的功能
- rest - 使用 Azure 数据工厂将文件从 restAPI 下载到数据湖中