在数据库中存储单选按钮值

问题描述

我有以下表格:

blabla

我有一个带有列的表:

textBox  roomnumber    (table column number int)  
comboBox roomtype      (table column type   varchar)  
textBox  phone         (table column phone  varchar)  
radiobuttons yes or no (table column free   varchar)  

我必须从Windows窗体中将这些值输入表中。

我编写了以下代码。但不了解如何在插入查询获取单选按钮值。

int number  
varchar type  
varchar phone  
varchar free  

提前谢谢

解决方法

INSERT语句不太正确。插入时,需要定义要在表上设置的列。然后,您可以使用以下内容添加参数化的值:

class Rotate2D
{
public:
    float cosA,sinA;

    Rotate2D(const float radRot,const float scale=1.0f)
        : cosA(scale*cos(radRot)),sinA(scale*sin(radRot)){};

    template<typename T>
    inline Point2DF map(const T &pt) const
    {
        return Point2DF(cosA*pt.cx() - sinA*pt.cy(),sinA*pt.cx() + cosA*pt.cy());
    }
};

如果您对数据库表架构有任何控制权,建议您将string free = "no"; if (rbyes.Checked) { free = "yes"; } SqlCommand cmd = con.CreateCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = @"insert into rooms(number,type,phone,free) values(@number,@type,@phone,@free)"; cmd.Parameters.AddWithValue("@number",txtroomno.Text); cmd.Parameters.AddWithValue("@type",cbroomtype.SelectedValue.ToString()); cmd.Parameters.AddWithValue("@phone",txtphone.Text); cmd.Parameters.AddWithValue("@free",free); try { cmd.Open(); cmd.ExecuteNonQuery(); MessageBox.Show("Record inserted successfully"); } catch (SqlException ex) { MessageBox.Show("An error has occurred: " + ex.Message,"Error",MessageBoxButtons.OK,MessageBoxIcon.Error); } 列更改为free类型。从长远来看,这最终将节省空间。那么它将只是存储一个布尔值而不是一个字符串/ varchar。