rajeeshsays Ответов: 3

Могу Ли Я Добавить Параметр Типа Таблицы Из C# В Хранимую Процедуру С Помощью Типа Db


могу ли я добавить параметр типа таблицы из C# в хранимую процедуру с помощью перечислений Sytem.Data.DbType?

3 Ответов

Рейтинг:
2

OriginalGriff

Просто использовать Параметры.AddWithValue[^] - это все уладит для тебя: Передача объекта datatable в хранимую процедуру в SQL Server 2008[^]


rajeeshsays

общественного недействительными 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.Отладка("Покинуть...");
}

rajeeshsays

здесь комментируемая строка кода является фактическим способом передачи параметров в sp в нашем проекте ,
здесь переменная базы данных и соединение ,транзакция сделаны из DataBaseFactory .pls решить эту проблему

Рейтинг:
0

Member 10677078

проверьте следующий код:
Кроме того, вам нужно сохранить переменную в БД в качестве типа данных, который вы используете.

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;
}


Рейтинг:
0

pawancharvak

Пожалуйста, используйте приведенный ниже код для передачи значения datatable. Здесь dt является датируемым.

объектов dbcommand.Параметры.Добавить(новый объект sqlparameter("@TableType", ДТ) { значения sqldbtype = значения sqldbtype.Структурированный });