| imho.ws |
![]() |
|
|
|
# 1 |
|
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();
}
И ещё также на всякий случай у меня стоит: 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. |