Я пытаюсь выполнить то, что мне показалось довольно простым параметризованным запросом на вставку, но сталкиваюсь со всевозможными проблемами. SQL EXPRESS 08R2, VB.net
Вот код VB, который строит параметры ...
ОБНОВЛЕНО Имена переменных:
itemDataSource1.ConnectionString = ConfigurationManager.ConnectionStrings("MyConnectionString").ToString()
itemDataSource1.InsertCommandType = SqlDataSourceCommandType.StoredProcedure
itemDataSource1.InsertParameters.Add("@short_Text", short_Text)
itemDataSource1.InsertParameters.Add("@foreignTable", foreignTable)
itemDataSource1.InsertCommand = "usp_insertLangShortText" ' Call stored procedure
'***********************************************************************
' Begin the insertion. Check for errors during insert process.
Dim rowsAffected As Integer = 0
rowsAffected = itemDataSource1.Insert()
А вот SP, с которым я пытаюсь выполнить вставку ..
@short_Text varchar(250),
@foreignTable varchar(250)
AS
/* SET NOCOUNT ON */
DECLARE @sql varchar(max);
BEGIN
SET @sql = 'INSERT INTO ' + @foreignTable + ' (short_Text) VALUES (''' + @short_Text + ''')';
END
print (@sql)
EXECUTE(@sql);
SET @sql = ''
RETURN
ЛЮБЫЕ предложения о том, как кодировать это более разумно, приветствуются.
Вот ошибка ....
System.Data.SqlClient.SqlException: в процедуре или функции usp_insertLangShortText указано слишком много аргументов. в System.Data.SqlClient.SqlConnection.OnError (исключение SqlException, логическое breakConnection) в System.Data.SqlClient.SqlInternalConnection.OnError (исключение SqlException, логическое breakConnection) в System.Data.SqlCarser.ObState.WebState.Ont_Ont_Web.Ont .Data.SqlClient.TdsParser.Run (runBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader DATASTREAM, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) при System.Data.SqlClient.SqlCommand.FinishExecuteReader (SqlDataReader DS, runBehavior runBehavior, String resetOptionsString) на System.Data.SqlClient .SqlCommand.RunExecuteReaderTds (CommandBehavior cmdBehavior, RunBehavior runBehavior, логическое значение returnStream, логический асинхронный) в System.Data.SqlClient.SqlCommand.RunExecuteReader (метод CommandBehaviors SqlCommand.InternalExecuteNonQuery (результат DbAsyncResult, Str ing methodName, Boolean sendToPipe) в System.Data.SqlClient.SqlCommand.ExecuteNonQuery () в System.Web.UI.WebControls.SqlDataSourceView.ExecuteDbCommand (команда DbCommand, операция DataSourceOperationSource.ecute.Inte. Значения IDictionary) в System.Web.UI.WebControls.SqlDataSource.Insert () в par_importExcelDataPTS.GetRootID (String short_Text, Int32 string_id, String dbName, String Lang_code) в C: \ Users