2011-09-28 39 views
0

我最近更改了我的網站,以允許用戶從下拉列表或文本框中選擇以插入標題。該表被稱爲Picklist,列是PicklistID,標題,數據。 有人可以幫我插入標題嗎?'標題'未被插入

Protected Sub SubmitLink_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles SubmitLink.Click 
    LinkModal.Hide() 

    Dim strSQL As String = "INSERT INTO Picklist (Title, Data) VALUES (@Title, 
    @Data);INSERT INTO Marketing (ProductID, MarketingTypeID, MarketingTitle, 
    MarketingData) VALUES (@ProductID, 1, 'Link', scope_identity())" 

    Using cn As New 
    SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings 
    ("LocalSqlServer").ConnectionString) 

    Using cmd As New SqlCommand(strSQL, cn) 
    If ddlDescription.SelectedValue <> "Select below or enter new" Then 
     cmd.Parameters.Add(New SqlParameter("@Title", ddlLink.SelectedValue)) 
    Else 
     cmd.Parameters.Add(New SqlParameter("@Title", NewLinkTitle.Text)) 
    End If 
     cmd.Parameters.Add(New SqlParameter("@Data", LinkURL.Text)) 
     cmd.Parameters.Add(New SqlParameter("@ProductID", ProductID.Value)) 

     cn.Open() 

     cmd.ExecuteNonQuery() 

    End Using 
    End Using 
    Response.Redirect(Request.RawUrl) 
End Sub 

這裏有下拉菜單和文本框:

Title:<asp:DropDownList ID="ddlLink" runat="server" DataSourceID="dsNewLink" 
DataTextField="Title" DataValueField="Title" enableViewstate="False" 
AppendDataBoundItems="True"> 
    <asp:ListItem Text="Select below or enter new" Selected="True"> 
    </asp:ListItem> 
     </asp:DropDownList><br /> 
New Title:<asp:TextBox ID="NewLinkTitle" runat="server"> 
      </asp:TextBox><br /> 

在下面的圖片:瞭解背景,在最高層的線有什麼也沒有,但刪除按鈕呢?這是我剛剛嘗試添加的一個鏈接...... @Data列被插入數據庫,但不是@Title。但是沒有錯誤! :/

+3

好像看起來像是在添加一個標題......你到底有什麼問題?是否有錯誤訊息?如果是這樣,那是什麼? – NotMe

+0

你有任何錯誤? –

+0

完全沒有錯誤,但標題不會進入數據庫。正在插入PicklistID和Data列,但標題字段爲空。我會截圖。 – jlg

回答

3

可以做的事:

  1. 檢查你的領料單表的列定義。標題列是char還是varchar,是否包含足夠的空間來容納插入的數據?

  2. 在IF語句的代碼中設置一個斷點並運行該程序。當它到達那裏時,檢查ddlLink.SelectedValue屬性以查看其中包含的內容。通過應用程序來查看它經歷的代碼分支。最後,檢查cmd.parameters屬性以查看參數設置的值。

  3. 如果上述內容未指出發生了什麼,請使用SQL Profiler並觀察查詢是否通過線路。查看查詢,看看它是否傳遞了您認爲應該的所有內容。如果是這樣,那麼複製該查詢並直接在管理工作室中運行以查明發生了什麼。

+0

它正在傳遞ddlLink.SelectedValue並從NewLinkTitle.Text中插入值。即使我從下拉列表中選擇,它只能看到文本框。你知道我該如何解決這個問題嗎? – jlg

+0

在我們添加文本框之前,下拉列表能夠插入值,就如你所知。我是如何用文本框搞砸的? – jlg

+0

@jlg:聽起來像你在你的page_load方法中發生了一些事情,它正在重置下拉列表選擇項。在你的問題中顯示該代碼。 – NotMe