Могу Ли Я Добавить Параметр Типа Таблицы Из C# В Хранимую Процедуру С Помощью Типа Db
могу ли я добавить параметр типа таблицы из C# в хранимую процедуру с помощью перечислений Sytem.Data.DbType?
Просто использовать Параметры.AddWithValue[^] - это все уладит для тебя: Передача объекта datatable в хранимую процедуру в SQL Server 2008[^]
общественного недействительными UpdateTollTransaction (, сделки DbTransaction базу данных,таблицу данных dtFleetRegOwnRequest)
{
Коммунальные услуги.В окне infolog.Debug("Запись");
SqlCommand com=new SqlCommand("HTA.up_UpdateTollTransaction");
ком.CommandType = CommandType.Хранимая процедура;
//com = db..GetStoredProcCommand("HTA.up_UpdateTollTransaction");
//var command = db.GetStoredProcCommand("HTA.up_UpdateTollTransaction");
var DailyTollParam = com.Параметры.AddWithValue("@DailyToll", dtFleetRegOwnRequest);
DailyTollParam.Значения Sqldbtype = Значения Sqldbtype.Структурированный;
var HtaParam = com.Параметры.AddWithValue ("@HtaFileId", FileId);
HtaParam.Значения Sqldbtype=Значения Sqldbtype.Инт;
//db.AddInParameter(команда, "@HtaFileId", DbType.Int32, FileId);
//db.AddInParameter(команда, "@TollFlag", DbType.Логическое, TollFlag);
//db.AddInParameter(команда, "@TollTransactionId", DbType.Int32, TollTransactionId);
//db.AddInParameter(команда, "@DailyToll",SqlDbType.Structured, dtFleetRegOwnRequest);
ком.CommandTimeout = Утилиты.перерыв;
Коммунальные услуги.В окне infolog.Debug("выполнение StoredProcedure" + com.свойство CommandText);
если (проводки != нуль)
{
db.ExecuteNonQuery(com, транзакция);
}
еще
{
дБ.Метод executenonquery(ком);
}
Коммунальные услуги.В окне infolog.Отладка("Покинуть...");
}
здесь комментируемая строка кода является фактическим способом передачи параметров в sp в нашем проекте ,
здесь переменная базы данных и соединение ,транзакция сделаны из DataBaseFactory .pls решить эту проблему
проверьте следующий код:
Кроме того, вам нужно сохранить переменную в БД в качестве типа данных, который вы используете.
string nm, pass; nm = textBox1.Text; pass = textBox2.Text; int status = 0; string constring = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=Main_Database.mdf;Integrated Security=True"; SqlConnection sn = new SqlConnection(constring); SqlCommand sm = new SqlCommand("searchUser", sn); sm.CommandType = CommandType.StoredProcedure; sm.Parameters.AddWithValue("@nm", nm); sm.Parameters.AddWithValue("@pass", pass); sm.Parameters.Add("@returnVal", SqlDbType.Int).Direction = ParameterDirection.ReturnValue; using (sn) { sn.Open(); sm.ExecuteNonQuery(); status = (int)sm.Parameters["@returnVal"].Value; }
Пожалуйста, используйте приведенный ниже код для передачи значения datatable. Здесь dt является датируемым.
объектов dbcommand.Параметры.Добавить(новый объект sqlparameter("@TableType", ДТ) { значения sqldbtype = значения sqldbtype.Структурированный });