использую BLToolkit
для метода SetSpCommand мне надо заранее содать масив входных параметров в хранимку
так всё работает
using (DbManager db = new DbManager())
{
db.SetSpCommand("Account_update",
db.NullParameter("@Account_id", 2),
db.NullParameter("@Account_Name", "IVAN"),)
.ExecuteNonQuery();
)
а так НЕ работает
using (DbManager db = new DbManager())
{
object[] p = new object[2];
p[0] = db.NullParameter("@Account_id", 2),
p[1] = db.NullParameter("@Account_Name", "IVAN"),)
Здравствуйте, NanoSword, Вы писали:
NS>а так НЕ работает NS>using (DbManager db = new DbManager()) NS>{ NS> object[] p = new object[2]; NS> p[0] = db.NullParameter("@Account_id", 2), NS> p[1] = db.NullParameter("@Account_Name", "IVAN"),)
NS> db.SetSpCommand("Account_update",p).ExecuteNonQuery(); NS>)
Попробуй не object[], а IDbDataParameter[].
... << RSDN@Home 1.2.0 alpha rev. 771>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: заранее содать масив входных параметров в хранимку
Здравствуйте, NanoSword, Вы писали:
NS>КАК ПРАВИЛЬНО СОЗДАТЬ МАССИВ ВХОДНЫХ ПАРАМЕТРОВ?????
Проверил на тестовой базе вот такой пример:
using System;
using System.Data;
using BLToolkit.Data;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
using (DbManager db = new DbManager())
{
var p = new object[]
{
db.NullParameter("@firstName", "Tester"),
db.NullParameter("@lastName", "Testerson")
};
DataSet ds = db.SetSpCommand("Person_SelectByName", p).ExecuteDataSet();
var p0 = ds.Tables[0].Rows[0][0];
var p1 = ds.Tables[0].Rows[0][1];
}
}
}
}
Всё работает. Может у тебя дело в чём-то другом (твой второй пример не компилируется)?
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: заранее содать масив входных параметров в хранимку
От:
Аноним
Дата:
17.07.08 17:10
Оценка:
Здравствуйте, IT, Вы писали:
IT> var p = new object[] IT> { IT> db.NullParameter("@firstName", "Tester"), IT> db.NullParameter("@lastName", "Testerson") IT> };
так у меня тоже работает, НО p я создаю не за за одну операцию, а вот в цикле:
object[] p = new object[2];
p[0] = db.NullParameter("@Account_id", 2),
p[1] = db.NullParameter("@Account_Name", "IVAN"),)
.......
попробуй посмотреть такой вариант и будет ощибка! пожалуйста!!!!!
у меня заранее число элементов в масиве заранее неизвестно, потому что интерфей генерируется динамически
как быть если p надо создавать так object[] p = new object[n];
а потом в цикле заполнять — неработает?(((
заранее, спасибо
Re[3]: заранее содать масив входных параметров в хранимку