Muhammd Aamir Ответов: 1

Как я могу заполнить текстовые поля с помощью функции sqldatareader


Hi,Everyone

I am creating a web based project and I need to write data to textbox from database.
i have made a function that return sqldatareader but how can i write this data that came from sqldatareader into text boxes. can anybody show me code for this...


Что я уже пробовал:

public SqlDataReader GetApproveDemand(string query)
{
    SqlDataReader reader = null;
        DBConnection().Open();
        SqlCommand cmd = new SqlCommand(query, DBConnection());
        reader = cmd.ExecuteReader();
        return reader;
}



Мой код в файле aspx. cs выглядит следующим образом


db db = new db();
       string query = "Select Item_ID,Emp_ID,Demand_Date,Demand_Quantity From Demands WHERE Demand_ID = '" + txt_Search_Demand_ID.Text + "'";
       SqlDataReader reader = db.GetApproveDemand(query);

       while (db.GetApproveDemand(query).Read())
       {
           txt_Approve_Item_ID.Text = (reader["Item_ID"].ToString());
           txt_Approve_Employee_ID.Text = (reader["Emp_ID"].ToString());
           txt_Approve_Date.Text = (reader["Demand_Date"].ToString());
           txt_Approve_Quantity.Text = (reader["Demand_Quantity"].ToString());
       }

hari19113

Что такое O/P после выполнения вышеприведенного кода, показывает ли он какую-то ошибку? Если да, пожалуйста, упомяните об этом.

Muhammd Aamir

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

[no name]

Сообщение об ошибке-это своего рода необходимость знать информацию для кого-то, кто пытается вам помочь. И если Вы читаете его, то это очень ясно. Вам нужно научиться отлаживать свой код и выяснить, почему ваше соединение не открыто.

j snooze

Согласитесь с Неполитически правильным. Если вы пройдете через код после вызова ExecuteReader() и наведете курсор мыши на считыватель variable...is она закрылась? Если это так, то, вероятно, что-то не так с вашим SQL-оператором или он не возвращает никаких данных.

Muhammd Aamir

NotPolitcallyCorrect и j snooze благодарят Вас за то, что вы поделились своими знаниями. я решил эту проблему в SQL-соединении в моей статической функции, которая возвращала sqlconnection, я не открывал соединение там ... еще раз спасибо

1 Ответов

Рейтинг:
10

hari19113

Поскольку вы не опубликовали DBConnection(), я предполагаю, что вы создаете объект SQLConnection внутри него.
Я создал рабочий образец.

SqlConnection con=null;
Public SqlConnection DBConnection()
{
   string constring=<Your Connection String>;
   if (con==null)
   {
      con=new SqlConnection(constring);
   }
   return con;
}
Public SqlDataReader GetName(string Query)
{
   SqlDataReader dr=null;
   DBConnection().Open();
   SqlCommand cmd=new SqlCommand(Query,DBConnection());
   dr=cmd.ExecuteReader();
   return dr;
}
Public void DisplayName()
{
   DB db=new DB();
   string Query="select name from demo where id = 1";
   SqlDataReader dr=db.GetName(Query);
   while(dr.read())
   {
      txtName.Text=dr["name"].toString();
   }
}


Надеюсь, это вам поможет.