Amith 12807185 Ответов: 1

Sqlexception (0x80131904): недопустимое имя объекта "samples".


сведения об ошибке:
BaseDB.GetDataTableUsingQuery(SqlCommand oCommand, String sqlQuery) in e:\ClickPerk files\SampleSwan\App_Code\BaseDB.cs:57
   Sample.GetNewSamplesWithCategories() in e:\ClickPerk files\SampleSwan\App_Code\Sample.cs:50
   _Default.BindSamples() in e:\ClickPerk files\SampleSwan\Default.aspx.cs:16
   _Default.Page_Load(Object sender, EventArgs e) in e:\ClickPerk files\SampleSwan\Default.aspx.cs:12
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +51
   System.Web.UI.Control.OnLoad(EventArgs e) +95
   System.Web.UI.Control.LoadRecursive() +59
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +678


******************* BaseDB. cs*****************
public static DataTable GetDataTableUsingQuery(SqlCommand oCommand, string sqlQuery)
    {
        SqlConnection oConn = GetConnection();
        DataTable oTable = new DataTable();
        oCommand.Connection = oConn;
        oCommand.CommandText = sqlQuery;
        oCommand.CommandTimeout = 90;
        oCommand.CommandType = CommandType.Text;
        SqlDataAdapter oAdapter = new SqlDataAdapter();
        oAdapter.SelectCommand = oCommand;
        try
        {
            oAdapter.Fill(oTable);
        }
        catch (Exception e)
        {
            throw e;
        }
        return oTable;
    }


************** Sample. cs*****************
public static DataTable GetNewSamplesWithCategories()
    {
        return BaseDB.GetDataTableUsingQuery(new SqlCommand(), "SELECT TOP 8 s.*,c.* FROM Samples s LEFT JOIN Categories c on c.CatID=s.CatID ORDER BY SampleID DESC");
    }


************** Default. cs*******************
protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack) BindSamples();
    }
    private void BindSamples()
    {
        DataTable dt = Sample.GetNewSamplesWithCategories();
        rptSamples.DataSource = dt;
        rptSamples.DataBind();
    }


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

Я снизил код и файл. bak с ftp-сервера и восстановил его в своей локальной машинной базе данных[React2Media] , а также изменил строку подключения и имя базы данных на странице aspx. Теперь я застрял с вышеприведенной ошибкой. Когда я проследил трассировку стека, в базе данных не было таблицы "образец". Я вставил необходимый код выше и проверил наличие таблицы "категории", но никакой таблицы "образец". Пожалуйста, помогите в том, чего не хватает, что добавить, так как я новичок в .net.

Suvendu Shekhar Giri

Выберите топ-8 С.*,гр.* Из образцов с левой присоединиться категорий C на C.Идентификатор catid=С. Порядок catid с SampleID по убыванию

Поскольку у вас нет таблицы "образцы" в БД, поэтому она не сможет найти ее и выдать ту же ошибку.

Что вам здесь нужно, запрашивая данные из несуществующей таблицы?

Amith 12807185

Я просто хотел знать, правильно ли я понимаю это, так как код был дан для просмотра и изучения

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

Согласно вашему запросу, необходима таблица "образцы". Создайте это, если нет.

Amith 12807185

да, его там нет,просто хотел перепроверить.

1 Ответов

Рейтинг:
7

OriginalGriff

Проверьте имена ваших таблиц: вы, вероятно, назвали их "образцами", а не "образцами".


Amith 12807185

Я искал всю базу данных, но там ничего не было.
Поскольку это моя первая работа по разработке, мне дают код для проверки и изучения.
Со вчерашнего дня я исправляю ошибки одну за другой, а теперь застрял здесь. Я просто хотел
знать мое понимание правильно на этот счет и там ничего нельзя сделать, если
стола нет.