1
когда-либо я пытаюсь выполнить запрос на Informix с помощью C#, это дает мне эту ошибку {"Object reference not set to an instance of an object."}
IfxDataReader возвращение нулевой
Я использую:
- Windows 7 Ultimate 64бит
- VS2013 Непревзойденная
- Informix Client SDK3.50.FC9.WIN
вот мой код;
string ConnectionString = "Blah;" + "Service=sqlexec;" + "Server=Blah;" + "Database=base004;" + "Uid=me;" + "Pwd=pw;";
IfxConnection conn = new IfxConnection(ConnectionString);
conn.ConnectionString = ConnectionString;
try
{
string resql = "select * from table";
try
{
conn.Open();
MessageBox.Show("Connection open");
IfxCommand rq = new IfxCommand(resql, conn);
IfxDataReader dr = rq.ExecuteReader();
while (dr.Read())
{
string a = dr.GetString(0);
int b = dr.GetInt32(1);
string c = dr.GetString(2);
}
}
catch (IfxException ex)
{
MessageBox.Show(ex.Message);
}
conn.Close();
}
catch (IfxException ex)
{
MessageBox.Show(ex.Message);
}
Как не связанная обратная связь: Я ожидаю, что 'conn',' rq' и 'dr' все' IDisposable', и должны * all * использовать 'using' операторы –
@MarcGravell И да, есть использование IBM.Data .Informix; – faidam
@faidam нет, вы меня неправильно поняли; 'using IBM.Data.Informix' является директивой * *, а не оператором * *; Я имею в виду: 'using (IfxConnection conn = new IfxConnection (ConnectionString)) {... вложенный код здесь ...}' –