imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 17.06.2005, 00:32     # 1
skiproff
Guest
 
Сообщения: n/a

ASP.net, sql-запрос. Проблема.

При написании Web-сервиса у меня возникли проблемы с запросами на
вставку и удаления записей в базе данных. Запросы писал сам (ручками),
но проверял в MS Access и там всё работало. А в самой проге ... фигня
какая-то. Ничего не получается. Странность заключается в том, что
после запуска проги MS Access может открыть базу только на чтение, а
однажды мне удалось вообще "убить" базу.
Очень прошу помощи. Уже пол дня с этой проблемой провозился. Пробовал
изменять запросы ни хрена не вышло.

Вот исходный код, проблемных процедур:
Код:
      ....
      private const string ConnectionStr="Provider=Microsoft.Jet.OLEDB.4.0;"+"Data Source=C:\\Inetpub\\wwwroot\\.temp\\table.mdb";
      ......

                [WebMethod(EnableSession=false)]
                public bool InsertCD(UserInfo user, CDInfo cd)
                {
                        int UserID;
                        UserID=GetUserID(user);
                        if (!LogOnSuss)
                                return false;

                        OleDbConnection MyConn= new OleDbConnection(ConnectionStr);
                        string InsertSql="INSERT INTO [CDs] (CD_ID,User_ID,CD_name,CD_desc) VALUES (DEFAULT,'"+UserID+"','"+ cd.name+"','"+cd.description+"')";

                        OleDbCommand MyCom= new OleDbCommand(InsertSql,MyConn);
                        MyConn.Open();
                        MyCom.ExecuteNonQuery();
                        
                        MyConn.Close();

                        return true;
                }

                [WebMethod(EnableSession=false)]
                public void DeleteYourCD(UserInfo user, int CD_ID)
                {
                        int UserID;
                        UserID=GetUserID(user);
                        if (!LogOnSuss)
                                return;

                        OleDbConnection MyConn= new OleDbConnection(ConnectionStr);
                        //string DeleteSql="DELETE * FROM [CDs] WHERE CD_ID='" +CD_ID+"' AND User_ID='"+UserID+"'";
                        string DeleteSql="DELETE FROM [CDs] WHERE CD_ID='" +CD_ID+"' AND User_ID='"+UserID+"'";
                        OleDbCommand DelComm= new OleDbCommand(DeleteSql,MyConn);

                        MyConn.Open();
                        DelComm.ExecuteNonQuery();
                        MyConn.Close();
                }
На всякий случай прилагаю Visual Studio проект и саму базу (в архиве).
И ещё также на всякий случай у меня стоит: MS Visual Studio .Net Ver
7.0.9466, .Net Framework ver 1.0.3705, Ms office 2000.

P.S. В asmx-файле (чтобы в броузере можно было протестить) написаны
были написаны процедуры TestDeleteYourCD и TestInsertCD, но они также не работали.

P.P.S. Ещё в книге по SQL я прочитал, что в качестве значений в
запросе на вставку можно использовать DEFAULT и NULL, но почему-то у
меня это не работало в MS Access.
Вложения
Тип файла: rar problem_files.rar (23.7 Кбайт, 1 просмотров - Кто скачивал? )
 
Старый 22.06.2005, 13:43     # 2
skiproff
Guest
 
Сообщения: n/a

Проблема решена. Оказалось, что пользователю ASPNET достаточно прав не дал.
 

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 16:37.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.