-3

我正在创建一个程序,我想限制要插入的字符串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, .......' 作为他/她的中间名首字母,它将自动插入为'A,B,C,D,E,F,G,H,I,J,K,L,M,......' 在我的Database

4

3 回答 3

1

您正在插入数据,因此您需要调用:

SQLcmd.ExecuteNonQuery()

而不是

SQLcmd.ExecuteReader()
于 2013-02-25T02:36:38.463 回答
1

既然combobox已经回答了。

我想回答即将更改为UPPERCASE

您可以使用这些类型的代码。

方式#1

Dim upper as string = (txtMI.text.ToUpper())

方式#2

Dim upper as string = (UCase(txtMI.text))

方式#3

Dim upper as string = (StrConv(txtMI.text,VbStrConv.UpperCase))
于 2013-02-25T02:41:31.283 回答
0
txtMI.Text = StrConv(txtMI.Text, VbStrConv.Uppercase) this codes solve my problem... 
于 2013-02-25T03:44:59.247 回答