У меня есть текстовое поле и кнопка, настроенная для обрезки конца ссылки на YouTube и сохранения ее в таблице SQL Server. Но моя хранимая процедура на самом деле ничего не спасает.Сохраненная процедура не обновляется Поле Null
HTML
<asp:TextBox ID="txtYoutubeLink" runat="server" AutoPostBack="true" Width="300"></asp:TextBox>
<asp:Button ID="btnSave" runat="server" Text="Save Link" Width="120" />
VB.Net
Protected Sub btnSave_Click(sender As Object, e As System.EventArgs) Handles btnSave.Click
If txtYoutubeLink.Text = "" Then
Else
Dim link As String = txtYoutubeLink.Text
Dim shortlink As String = link.Substring(link.LastIndexOf("=") + 1)
SqlHelper.ExecuteNonQuery(System.Configuration.ConfigurationManager.AppSettings("dbConn"), "X_WW_spSaveVideoUrl", lstStockItems.SelectedItem.Value.ToString(), shortlink)
End If
End Sub
Хранимая процедура:
ALTER PROCEDURE [dbo].[X_WW_spSaveVideoUrl]
@STOCKCODE VARCHAR(15),
@VideoURL VARCHAR(max)
AS
UPDATE Stock_Items
SET X_VIDEOURL = @VideoURL
WHERE StockCode = @STOCKCODE
lstStockItems
- это ASP: Datalist, установленный другой хранимой процедурой, поле значения правильно установлено как кодовые коды товара. Он используется на нескольких страницах, поэтому я знаю, что это не то, что происходит, но я не понимаю, почему новая процедура не работает. Единственное, о чем я могу думать, это то, что это используется для перезаписывания полей null
в существующей таблице, так что, возможно, мой запрос на обновление неверен?
Редактировать
Вот еще текстовое поле/кнопка со списком, который я использую, чтобы изменить ссылку YouTube Чтобы получить продукты, которые уже имеют один в списке против них.
Protected Sub btnUpdate_Click(sender As Object, e As System.EventArgs) Handles btnUpdate.Click
If txtChangeYoutubeLink.Text = "" Then
Else
Dim link As String = txtChangeYoutubeLink.Text
Dim shortlink As String = link.Substring(link.LastIndexOf("=") + 1)
SqlHelper.ExecuteNonQuery(System.Configuration.ConfigurationManager.AppSettings("dbConn"), "X_WW_spSaveVideoUrl", lstLinked.SelectedItem.Value.ToString(), shortlink)
End If
End Sub
Работы хорошо. Итак, я могу использовать процедуру для изменения поля X_VideoUrl
от «бла» до «bleh», но не может изменить его с NULL на «bleh».
Вы отлаживаете свой код? Вы пытаетесь увидеть, какие значения хранятся в shortlink и lstStockItems.SelectedItem.Value.ToString() и какое значение вы передаете? Возможно, вы передаете значения в неправильной последовательности. –
Ссылка Youtube https://www.youtube.com/watch?v=Q03nIupGAIQ правильно сокращена до Q03nIupGAIQ, но не отправлена в таблицу SQL. Я также дважды проверял, что он получает правильный элемент Item Item. – Wompguinea
Показать этот метод/подпись .. 'SqlHelper.ExecuteNonQuery (System.Configuration.ConfigurationManager.AppSettings (" dbConn ")," X_WW_spSaveVideoUrl ", lstStockItems.SelectedItem.Value.ToString(), shortlink)'.Я почти могу это сделать, поскольку аргументы, которые вы передаете, обычно не позволяют это сделать, если вы не создали этот метод ... Также это не параметры sql, я не знаю, что вы даже скомпилируете это. – Codexer