为文本框设置有效值

时间:2013-02-25 02:32:19

标签: sql database visual-studio-2010 sql-server-2005 textbox

我正在创建一个程序,我想限制一个字符串插入我的Database有人可以告诉我该怎么做吗?

截至目前,这是我的代码:

 Dim SQLcon As New SqlConnection
        Dim SQLdr As SqlDataReader
        Try
            SQLcon.ConnectionString = "Data Source=#### ;Initial Catalog=####;Persist Security Info=True;User ID=####;Password=####"
            Dim SQLcmd As New SqlCommand("INSERT INTO dbo.Patients" & _
                                         "(pIDNo,pLName,pFName,pMI,pSex,pStatus,pTelNo,pDocID,pAddr,pStreet,pBarangay,pCity,pProvince,pLNameKIN,pFNameKIN,pMIKIN,pRelationKIN,pTotalDue)" & _
                                         "VALUES(@pIDNo,@pLName,@pFName,@pMI,@pSex,@pStatus,@pTelNo,@pDocID,@pAddr,@pStreet,@pBarangay,@pCity,@pProvince,@pLNameKIN,@pFNameKIN,@pMIKIN,@pRelationKIN,@totaldue)", SQLcon)
            SQLcmd.Parameters.AddWithValue("@pIDNo", txtPNumber.Text)
            SQLcmd.Parameters.AddWithValue("@pLName", txtLname.Text)
            SQLcmd.Parameters.AddWithValue("@pFName", txtFname.Text)
            SQLcmd.Parameters.AddWithValue("@pMI", txtMI.Text)
            SQLcmd.Parameters.AddWithValue("@pSex", txtPatientSex.Text)
            SQLcmd.Parameters.AddWithValue("@pStatus", txtStatus.Text)
            SQLcmd.Parameters.AddWithValue("@pTelNo", txtPatientTelNo.Text)
            SQLcmd.Parameters.AddWithValue("@pDocID", txtPatientDoctor.Text)
            SQLcmd.Parameters.AddWithValue("@pAddr", txtStreetNumber.Text)
            SQLcmd.Parameters.AddWithValue("@pStreet", txtStreetName.Text)
            SQLcmd.Parameters.AddWithValue("@pBarangay", txtBarangay.Text)
            SQLcmd.Parameters.AddWithValue("@pCity", txtCity.Text)
            SQLcmd.Parameters.AddWithValue("@pProvince", txtProvince.Text)
            SQLcmd.Parameters.AddWithValue("@pLnameKIN", txtKinLname.Text)
            SQLcmd.Parameters.AddWithValue("@pFnameKIN", txtKinFname.Text)
            SQLcmd.Parameters.AddWithValue("@pMIKIN", txtKinMI.Text)
            SQLcmd.Parameters.AddWithValue("@pRelationKIN", txtRelationToPatient.Text)
            SQLcmd.Parameters.Add("@totaldue", SqlDbType.Money).Value = Decimal.Parse(txtTotalDue.Text)
            SQLcon.Open()
            MsgBox("Patient Added!", MsgBoxStyle.Information)
            SQLdr = SQLcmd.ExecuteReader()
        Catch ex As Exception
            MessageBox.Show("Error Occured, Can't Add Patient!" & ex.Message)
        Finally
            SQLcon.Close()
        End Try
        Return ""
txtSex.Text

中的

我只希望用户只为男性输入'M',为女性输入'F'

txtStatus.Text

中的

我只希望用户只输入'S'表示单身,'M'表示结婚,'W'表示寡妇,'H'表示分开

还有一件事:

txtMItxtMIKIN中的

是否可以在用户输入值后进行转换?

示例:

如果用户输入'a,b,c,d,e,f,g,h,i,j,k,l,m,.......'作为他/她的中间首字母,它将在Database

中自动插入'A,B,C,D,E,F,G,H,I,J,K,L,M,......'

3 个答案:

答案 0 :(得分:1)

您正在插入数据,因此您需要致电:

SQLcmd.ExecuteNonQuery()

而不是

SQLcmd.ExecuteReader()

答案 1 :(得分:1)

由于约combobox已被回答。

我想回答关于更改为UPPERCASE

您可以使用这些代码。

方式#1

Dim upper as string = (txtMI.text.ToUpper())
#p>方式#2

Dim upper as string = (UCase(txtMI.text))
方式#3

Dim upper as string = (StrConv(txtMI.text,VbStrConv.UpperCase))

答案 2 :(得分:0)

txtMI.Text = StrConv(txtMI.Text, VbStrConv.Uppercase) this codes solve my problem...