PDA

نسخه کامل مشاهده نسخه کامل : مشكل ارتباط asp.net و access



ameneh yusefi
17-10-2006, 11:10
:sad: با سلام من يك برنامه تحت وب دارم كه با (asp.net(c#.net و پايگاه داده access ولي ارتباط نميتونم برقرار كنم.سورس من اينه با تشكر.

OleDbConnection cnn=new OleDbConnection("provider=microsoft.jet.oledb.4.0;DATA Source=server.Mappath(./data.mdb)" );
من اگر نخوام مسير بدم و از server.Mappath استفاده كنم شكل كلي دستور رو نمي دونم

Reza_Pc
18-10-2006, 06:27
سلام دوست عزیز
قالب کد server.mappath به شکل زیر هست:
("Server.MapPath("./date.mdb
این در حالی هست که فایل دیتابیس شما در داخل پوشه ریشه باشه و در پوشه داخلی دیگری نباشه .
ایراد کار شما اینه که نام دیتابیس رو توی گیومه " " نگذاشتید - در ضمن اگر دیتابیس شما داخل یک پوشه هم هست باید نام و مسیر اون نیز به نام دیتابیس اضافه بشه مثلا
("Server.MapPath("./db/home3.mdb

اگه باز به مشکل خوردی به من به آدرس developer_reza@yahoo.com میل بزن تا مشکلت رو حل کنیم .
موفق باشی. :)

ameneh yusefi
18-10-2006, 13:18
پايگاه دادهم در همان مسير است و داخل پوشه ي ديگري نيست در explorer اين error رو ميده
'C:\WINXPMCE\system32\Server.MapPath('\date.mdb')' is not a valid path. Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides.

ameneh yusefi
18-10-2006, 13:21
OleDbConnection cnn=new OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=Server.MapPath('./date.mdb')" );
OleDbCommand cmd=new OleDbCommand();
cmd.Connection=cnn;
cmd.CommandText="insert into cheq(checkno,date,price,username,comment,pelaksabt i)values(@a,@b,@c,@d,@e,@f)";
cmd.Parameters.Add("@a",cheqno.Text);
cmd.Parameters.Add("@b",year.SelectedItem.Text+"/"+month.SelectedItem.Text+"/"+day.SelectedItem.Text);
cmd.Parameters.Add("@c",price.Text);
cmd.Parameters.Add("@d",name.Text);
cmd.Parameters.Add("@e",comment.Text);
cmd.Parameters.Add("@f",plak.Text);
cnn.Open();
cmd.ExecuteNonQuery();
cnn.Close();

ameneh yusefi
18-10-2006, 13:23
اين هم سورسمه اگه مسير رو كامل بدم متصل مي شه ولي در جمله insert خطا مي گيره باتشكر

Reza_Pc
18-10-2006, 21:03
سلام دوست عزيز
شما از كد زير مي تونيد الگو بگيريد
اين كد رو خيلي ساده تعريف كردم كه مشخص باشه

Dim a As OleDb.OleDbConnection
a = New OleDb.OleDbConnection("provider=microsoft.jet.oledb.4.0;Data Source=" & Server.MapPath("/") & "db.mdb;")
Dim str As String
str = t2.Text
a.Open()
Dim dadTitles As New OleDb.OleDbDataAdapter
Dim dstTitles As DataSet
Dim b As OleDb.OleDbCommand
b = New OleDb.OleDbCommand("select address,tel,doc,name from info where name like ('%' & str & '%')", a)

b.Parameters.Add(("@name"), t2.Text)


dadTitles.SelectCommand = b
dstTitles = New DataSet

dadTitles.Fill(dstTitles)
d1=datagrid'''''''''''''''
d1.DataSource = dstTitles
d1.DataBind()
a.Close()

Reza_Pc
18-10-2006, 21:04
اگه بازم مشكل خوردي فايلت رو ميل كن تا مشكلش رو حل كنيم. :)

Reza_Pc
18-10-2006, 21:07
در ضمن شما بهتره براي چك كردن درستي مسير اول با دستور select این کارو بکنی اگه نتیجه داد بعد با insert کد خودت رو بنویس چون گاهی readonly بودن یا باز بودن فایل یا جدول fat درایو شما باعث میشه دستور insert با کدserver.mappath کارنکنه و ایراد بگیره که البته تو سرور خودش درست میشه .

ameneh yusefi
19-10-2006, 13:01
ممنون از راهنماييت.

ameneh yusefi
21-10-2006, 10:27
مشكل ارتباطم حل شده ولي هنوز تو دستور insert اشكال مي گيره.

Reza_Pc
23-10-2006, 09:17
دوست عزیز این مشکل می تونه به خاطر premission های درایو یا پوشه فایلت باشه که باید در حالت full control در قسمت secirity پوشه قرار بگیره با نام کاربری ASPNET
اگه باز انجام شد میل بزن