Проблема в использовании DataSet - PullRequest
1 голос
/ 20 мая 2011

Сначала я вручную создал DataSet в названии моего проекта recvd.xsd с соответствующим recvd.xss.На моем событии нажатия кнопки я выполнил следующую кодировку.

try 
{
    DataSet recvd_REPORT = new DataSet();
    DataTable REPORT = new DataTable();
    String dd_webCofig = ConfigurationManager.ConnectionStrings["server2"].ConnectionString;
    OdbcConnection ddlistconn = new OdbcConnection(dd_webCofig);
    ddlistconn.Open();

    REPORT = recvd_REPORT.Tables["REPORT"];
    DataColumn myDataColumn = new DataColumn();
    myDataColumn.DataType = typeof(System.Int32);
    myDataColumn.ColumnName = "RECEIVED";
    myDataColumn.ReadOnly = false;
    myDataColumn.Unique = false;
    // Add the Column to the DataColumnCollection.
    REPORT.Columns.Add(myDataColumn);

    string query = "SELECT case_no as \"RECEIVED\" from dcpanaji.Civil_t where dt_regis > '" + txtStartDate.Text + "' AND dt_regis < '" + txtEndDate.Text + "' AND court_no = " + DropDownList1.SelectedItem + "";
    Response.Write(query);
    OdbcCommand cmd = new OdbcCommand(query, ddlistconn);
    OdbcDataReader loginMyReader = cmd.ExecuteReader();

    OdbcDataAdapter adptr = new OdbcDataAdapter(query, ddlistconn);
    adptr.Fill(REPORT);

    ddlistconn.Close();   
}
catch (Exception ex)
{
    Response.Write(ex.Message);
}

Я получаю ошибку, так как

Ссылка на объект не установлена ​​на экземпляр объекта.

Если я удаляю as \"RECEIVED\" из своего SQL-запроса и просто выполняю свой SQL-запрос, то результат моего запроса будет следующим (зависит от ввода пользователя)

200200000452011......, n чисел из 12 цифр.

Помогите мне, пожалуйста, устранить ошибку, объясняющую, почему я не могу привязаться к DataTable.

Я получаю ошибкуперед выполнением Response.Write(query);, почему эта проблема?

Я удалил блок try catch, и теперь я получаю ошибку как

enter image description here

Ответы [ 4 ]

0 голосов
/ 20 мая 2011

вы можете написать запрос как

query = "SELECT case_no as RECIEVED from dcpanaji.Civil_t where dt_regis > '" + txtStartDate.Text + "' AND dt_regis < '" + txtEndDate.Text + "' AND court_no = " + DropDownList1.SelectedItem + "";

отметьте как это ....

0 голосов
/ 20 мая 2011

1001 * попробовать *

SELECT case_no as `RECEIVED` ...

или просто

SELECT case_no as RECEIVED ...

В любом случае правильный код заполнения DataSet должен выглядеть следующим образом:

DataSet ds = new DataSet();
using (OdbcConnection connection = new OdbcConnection(connectionString))
using (OdbcCommand command = new OdbcCommand(sqlQuery, connection)
using (OdbcDataAdapter adapter = new OdbcDataAdapter(command)
{
    adapter.Fill(ds);
}
0 голосов
/ 20 мая 2011

Вам не нужно использовать \ "ПОЛУЧЕНО \" в запросе, вы можете использовать, как показано ниже.

query = "SELECT case_no as [RECIEVED] from dcpanaji.Civil_t where dt_regis > '" + txtStartDate.Text + "' AND dt_regis < '" + txtEndDate.Text + "' AND court_no = " + DropDownList1.SelectedItem + "";
0 голосов
/ 20 мая 2011

В вашем SQL вместо \ "ПОЛУЧЕНО \" вы пробовали просто ПОЛУЧЕНО, без кавычек?

...