2012-08-08 51 views
0

我試圖從用戶的日期的形式下拉列表如下我的ASP代碼DD/MM/YYYY:獲取日期型三個組合框的使用ASP和VB.net

ASP代碼

<div class="content-topwidth"> 
        <asp:Label ID="lblDOB" runat="server" Text="Label">Enter DOB</asp:Label> 
        <div id="three-cases-cal"> 
        <asp:DropDownList ID="ddlDay" runat="server"> 
        </asp:DropDownList> 
        <asp:DropDownList ID="ddlMonth" runat="server"> 
        </asp:DropDownList> 
        <asp:DropDownList ID="ddlYear" runat="server"> 
        </asp:DropDownList> 
        </div> 
       </div> 

事情是這樣的:

DOB

我必須在VB中對其進行編碼,並將這些組合框的值保存在數據庫中。

E.g:我的USERINFO一個表,並有作爲DOB一列這樣的時間從這些組合框獲取在此列爲DD /月/年來存儲。

任何人都可以幫助我與VB代碼。

謝謝

+0

htt電話號碼://whathaveyoutried.com?請告訴我們你到目前爲止的情況。 SO不是代碼編寫服務,如果您提供了自己的工作證據,您將得到更好的迴應。請參閱[常見問題](http://stackoverflow.com/faq)。 – freefaller 2012-08-08 11:01:25

+0

任何你不能只使用日曆控件的原因? – Tim 2012-08-08 11:10:58

+0

@AbdulAziz:那有什麼問題? – 2012-08-08 11:16:28

回答

0

我已經寫在頁面的Page_Load事件中的代碼,希望它可以幫助你

Protected Sub Page_Load(sender As Object, e As EventArgs) 

Dim mdate As String = ddlDay.ToString() & "/" & ddlMonth.ToString() & "/" & ddlYear.ToString() 

Dim connection As String = "Data Source=.;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;" 'Change datasource, username and password Datasource may be . or if you have sqlexpress then it be .\SqlExpress 

    Dim query As String = "Insret into USERINFO(DOB) VALUES('"&mdate&"');" 
    Dim con As New SqlConnection(connection) 
    Dim cmd As New SqlCommand() 
    cmd.CommandText = query 
    cmd.CommandType = CommandType.Text 
    cmd.Connection = con 
    con.Open() 
    cmd.ExecuteNonQuery() 
    con.Close() 
End Sub 
+0

不要將日期存儲爲字符串!而且你的代碼很容易受到SQL注入攻擊。改用參數。 – 2012-08-08 14:22:11

0

你必須串聯日,月,年值和字符串轉換日期DateTime使用DateTime.ParseExactDateTime.TryParseExact方法。

Dim str=ddlDay.SelectedValue & "-" & ddlMonth.SelectedValue & "-" & ddlYear.SelectedValue 
Dim myDate as DateTime 
IF DateTime.TryParseExact(str,"dd-MM-yyyy", 
     System.Globalization.CultureInfo.InvariantCulture, 
      System.Globalization.DateTimeStyles.None,myDate) Then 
    //valid date 
End IF 
0

用它來收集的值並保存爲DateTime

Dim year as integer = CInt(ddlYear.SelectedValue) 
Dim month as integer = CInt(ddlMonth.SelectedValue) 
Dim day as integer = CInt(ddlDay.SelectedValue) 

Dim DOB as DateTime = New DateTime(year, month, day) 

這樣可以節省DOB數據庫

要設置的值,而編輯頁面

使用此

ddlYear.SelectedValue = DOB.Year.ToString() 
ddlMonth.SelectedValue = DOB.Month.ToString() 
ddlDay.SelectedValue = DOB.Day.ToString()