انجمن‌های فارس وب

نسخه کامل: ارتباط ASP.NET و دیتابیس Access
شما در حال بازدید از بایگانی ارسال های انجمن هستید این نسخه کامل نیست : برای مشاهده نسخه کامل اینجا کلیک کنید
سلام

با آرزوی موفقیت برای همه کاربران این سایت

من توی ASP.NET با زبان VisualBasic برای خواندن دیتابیس از پوشه App_Data البته در کلاس ( کلاسهایی که داخل پوشه App_Code هستن ) مشکل دارم . متد Server.Mappath هم جواب نمیده .

اگه شما میدونید ، لطفاً راهنمایی کنید . ( بلـه با خود شما هستم که دارید این مطلبُ میخونید !! )
دوست من ؛ يك فارس وب هست و يك مربي ASP.NET كه خانم [ جهت مشاهده لينك عضو شويد ! ] باشن ، لطفاً كمي صبور باشيد .

فكر مي كنم مطلبي شبيه به همين قبلاً ايجاد كرديد ؛ اگر اين مبحث مرتبط با مبحث پيشين هستش ، لطفاً ادامه ي بحث رو از همون مبحث پيگيري كنيد .
tkd عزیز
برای اتصال به دیتا بیس access شما تنها کافی است Data File را تنظیم نمایید و ارتباطی به اینکه در کلاس باشه یا نه نداره .....
برای اینکه مشکلتون مشخص باشه بهتره بیشتر توضیح بدید .
من میخوم برای کدهای ارتباط با دیتابیسمــو که برای Login هست توی یه کلاس بنویسم ، اگه ممکنه راهنمایی کنید یا یه راه بهتر بـه من پیشنهاد کنید.
برای اینکه کلاس بنویسی برای ارتباط هیج مشکلی نیست ، یعنی فرقی نمی کنه شما همونطور که در بخش های دیگه از آدرس های پایگاه داده ات استفاده می کنی در اینجا هم استفاده می کنی
برای اینکه توضیحات کامل باشه یه نمونه کامل از ارتباط با access و خواندن اطلاعات کاربر از آن را در ادامه گذاشتم فایل آن را نیز ضمیمه کردم که امیدوارم بهت کمک کنه ، اگر سوالی یا مشکلی بود بگو که در انجمن حل شه

این کد کلاسی که از دیتا بیس access اطلاعات رو می خونه و در پوشه App_Code است:

public class clsUsers
{
    public 
clsUsers()
    {
        
//
        // TODO: Add constructor logic here
        //
    
}
    public 
DataSet GetUsersInfo()
    {


        
string TheQuery = @"SELECT  UName, UFamily, UID  FROM Users";


        
OleDbConnection  con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=|DataDirectory|\\FarswebDB.mdb;Persist 
Security Info=True" 
);
        
OleDbDataAdapter  da = new OleDbDataAdapter(TheQuerycon);
        
DataSet ds = new DataSet();
        
con.Open();
        
da.Fill(ds);
        
con.Close();
        return 
ds;

    }



این هم کد استفاده از کلاس در صفحه default :

clsUsers tempcls = new clsUsers();
        
DataSet ds =  tempcls.GetUsersInfo();
        
GridView1.DataSource ds;
        
GridView1.DataBind(); 



پس همین طور که می بینی هیچ فرقی نمی کنه که شما از چه مسیری یا پوشه ای به دیتا بیس وصل شی .
حال اگر مشکل جای دیگه ای هست بگویید.


در نهایت یه توضیح کوتاه : اگر از Framework 2005 به بعد استفاده می کنید ، می توانید برای Login و مدیریت کاربران از کامپوننت های آماده Login استفاده نمایید.


لینک دانلود نمونه ای که توضیحاتش رو در بالا دادم : [ جهت مشاهده لينك عضو شويد ! ]

خیلی ممنون !

ولی میشه برای دستور INSERT هم یه مثال بزنید . ( مثلا یه TextBox توی صفحه Default.aspx داریم که میخواهیم با کلیک بر روی دکمه عضویت ؛ مـتــد عضویت را از کلاس بخواند و محتویات کادر متن را در دیتا بیس ذخیره کند . )

اگه ممکنه با زبان VisualBasic برام توضیح بدهید

چشمک با تشکــر فرآوان !!!
خیلی ممنون ؛ خودم تونستم یه جوری سر و تهــشو هم بیارم .

کد نویسی داخل کلاس باید به شکل زیر باشه :

[align=left]Public Class NewUser

    Public Const ConStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|//sing.mdb;Persist Security Info=True"

    Public Sub AddNew(ByVal Fname As String, ByVal Lname As String)
        Dim con As New OleDbConnection
        Dim cmd As New OleDbCommand

        con.ConnectionString = ConStr
        cmd.Connection = con

        Dim Sql As String
        Sql = String.Format("INSERT INTO TBL1(Fname,Lname) VALUES ('{0}','{1}')", Fname, Lname)

        cmd.CommandText = Sql

        con.Open()
        cmd.ExecuteNonQuery()
        con.Close()
    End Sub
End Class

سلام دوست من
اين روشي كه استفاده كرديد درسته كه جواب مي ده ولي استفاده از مقادير Global و Public باعث كاهش Object Oriented بودن كلاس شماست .
مرجع آدرس ها