powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Я просил другую таблицу
15 сообщений из 15, страница 1 из 1
Я просил другую таблицу
    #38231181
Semyglass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

В ASP.net Web-сайте следующая структура доступа к данным:

на странице вызывается метод для заполнения DataTable:
Код: c#
1.
DataTable dtArticle = MESQL.GetArticle("1=1 Order by [Date] desc");


метод GetArticle:
Код: c#
1.
2.
3.
4.
5.
6.
private static SQL sql = new SQL(System.Configuration.ConfigurationManager.ConnectionStrings["MESQL"].ToString());
...
public static DataTable GetArticle(string Condition)
{
    return sql.GetDataTable("Article", Condition);
}



метод GetDataTable в классе SQL:
Код: c#
1.
2.
3.
4.
public DataTable GetDataTable(string TableName, string Condition)
{
    return FillTable(TableName, Condition);
}



метод FillTable:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
    private DataTable FillTable(string Table, string Filter)
    {
        DataTable Result = new DataTable();
        try
        {
            sqlCommand.CommandText = String.Format("SELECT * FROM [{0}] {1}", Table, (Filter == null ? "" : " Where " + Filter));
            sqlAdapter.SelectCommand = sqlCommand;
            
            lock (_ConnectionString) 
            {
                Open();
                sqlAdapter.Fill(Result);
                Close();
            }
        }
        catch (Exception ex)
        {
            _Error = ex;
            return null;
        }
        return Result;
    }



Проблема в том, что иногда в dtArticle после заполнения оказывается другая таблица (не Article).
Такое случается только на хостинге, т.е. отдебажить я не могу, на локальной машине все работает как надо. Может я пропустил что-то очевидное, или не совсем понимаю работу статических методов класса или еще чего-нибудь.

Заранее спасибо!
...
Рейтинг: 0 / 0
Я просил другую таблицу
    #38231192
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SemyglassТакое случается только на хостинге, т.е. отдебажить я не могу, на локальной машине все работает как надообратитесь к Вашим тестировщикам, пусть найдут как повторить
...
Рейтинг: 0 / 0
Я просил другую таблицу
    #38231195
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ваш врапер очень печальный, найдите приличнее или нормальную орм, особенно порадовало "Select *"
...
Рейтинг: 0 / 0
Я просил другую таблицу
    #38231204
Semyglass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПаганельSemyglassТакое случается только на хостинге, т.е. отдебажить я не могу, на локальной машине все работает как надообратитесь к Вашим тестировщикам, пусть найдут как повторить

Воспроизводится рандомно, примерно один раз на 50 обновлений страницы.
...
Рейтинг: 0 / 0
Я просил другую таблицу
    #38231209
Semyglass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRuваш врапер очень печальный, найдите приличнее или нормальную орм, особенно порадовало "Select *"

Есть ли вероятность что проблема в этом?
...
Рейтинг: 0 / 0
Я просил другую таблицу
    #38231249
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SemyglassПаганельпропущено...
обратитесь к Вашим тестировщикам, пусть найдут как повторить

Воспроизводится рандомно, примерно один раз на 50 обновлений страницы.верните баг им обратно
пусть пошагово напишут
...
Рейтинг: 0 / 0
Я просил другую таблицу
    #38231282
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SemyglassЕсть ли вероятность что проблема в этом?
не могу сказать по таким скудным данным, логируйте запросы куда идет и какой конекшен. Я просто констатировал что ваш врапер не торт
...
Рейтинг: 0 / 0
Я просил другую таблицу
    #38231290
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SemyglassДобрый день!

В ASP.net Web-сайте следующая структура доступа к данным:

на странице вызывается метод для заполнения DataTable:
Код: c#
1.
DataTable dtArticle = MESQL.GetArticle("1=1 Order by [Date] desc");



метод GetArticle:
Код: c#
1.
2.
3.
4.
5.
6.
private static SQL sql = new SQL(System.Configuration.ConfigurationManager.ConnectionStrings["MESQL"].ToString());
...
public static DataTable GetArticle(string Condition)
{
    return sql.GetDataTable("Article", Condition);
}




метод GetDataTable в классе SQL:
Код: c#
1.
2.
3.
4.
public DataTable GetDataTable(string TableName, string Condition)
{
    return FillTable(TableName, Condition);
}




метод FillTable:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
    private DataTable FillTable(string Table, string Filter)
    {
        DataTable Result = new DataTable();
        try
        {
            sqlCommand.CommandText = String.Format("SELECT * FROM [{0}] {1}", Table, (Filter == null ? "" : " Where " + Filter));
            sqlAdapter.SelectCommand = sqlCommand;
            
            lock (_ConnectionString) 
            {
                Open();
                sqlAdapter.Fill(Result);
                Close();
            }
        }
        catch (Exception ex)
        {
            _Error = ex;
            return null;
        }
        return Result;
    }




Проблема в том, что иногда в dtArticle после заполнения оказывается другая таблица (не Article).
Такое случается только на хостинге, т.е. отдебажить я не могу, на локальной машине все работает как надо. Может я пропустил что-то очевидное, или не совсем понимаю работу статических методов класса или еще чего-нибудь.

Заранее спасибо!

адовый код, давненько sql-иньекций не было?
...
Рейтинг: 0 / 0
Я просил другую таблицу
    #38231293
Semyglass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pation,

я не скажу Вам что это за сайт :)
...
Рейтинг: 0 / 0
Я просил другую таблицу
    #38231357
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Semyglass, и много у Вас статиков?
Код: c#
1.
2.
3.
4.
5.
6.
private static SQL sql = new SQL(System.Configuration.ConfigurationManager.ConnectionStrings["MESQL"].ToString());
...
public static DataTable GetArticle(string Condition)
{
    return sql.GetDataTable("Article", Condition);
}
...
Рейтинг: 0 / 0
Я просил другую таблицу
    #38231370
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SemyglasshandmadeFromRuваш врапер очень печальный, найдите приличнее или нормальную орм, особенно порадовало "Select *"

Есть ли вероятность что проблема в этом?Если вероятность, что проблема во врапере? Большая. Удивительно, что у Вас исключения не падают. Небось в строке подключения прописано: MultipleActiveResultSets=true.
...
Рейтинг: 0 / 0
Я просил другую таблицу
    #38231381
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Semyglassметод FillTable:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
    private DataTable FillTable(string Table, string Filter)
    {
        DataTable Result = new DataTable();
        try
        {
            sqlCommand.CommandText = String.Format("SELECT * FROM [{0}] {1}", Table, (Filter == null ? "" : " Where " + Filter));
            sqlAdapter.SelectCommand = sqlCommand;
            
            lock (_ConnectionString) 
            {
                Open();
                sqlAdapter.Fill(Result);
                Close();
            }
        }
        catch (Exception ex)
        {
            _Error = ex;
            return null;
        }
        return Result;
    }

Пораньше бы надо lock делать, до sqlCommand.CommandText =
...
Рейтинг: 0 / 0
Я просил другую таблицу
    #38231396
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и метод sqlAdapter.Fill(Result) сам откроет и закроет соединение, если надо.

P.S.: адъ.
...
Рейтинг: 0 / 0
Я просил другую таблицу
    #38231405
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Semyglass,
Код: c#
1.
2.
3.
4.
5.
6.
    lock (_ConnectionString) 
            {
                Open();
                sqlAdapter.Fill(Result);
                Close();
            }


это сайт для советской российской армии?
...
Рейтинг: 0 / 0
Я просил другую таблицу
    #38231421
Semyglass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое всем спасибо. Особенно skyANA
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Я просил другую таблицу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]