ورود به سایت با لوگین به دیتا بیس اکسس

سلام
تا اون جایی که من می دونم :

VS2003 = asp.net 1-1.5
VS2005= Asp.net 2
VS2008=Asp.net 3-3.5

در مورد سوال دوم شما باید عرض کنم با اینکه تکراری ( یعنی قبلا که من تو فروم بودم چند بار پاسخ داده شده ) ولی باز هم پاسخ می دم . ( البته با کمک دوستان :wink: )

چون نمی خواهم که مبحث پیچیده بشه ، دستی ترین و راحت ترین راه ممکنه رو توضیح می دم .
شما ابتدا نام کاربری و پسورد فرد رو دریافت می کنید ( فارسی را پاس بدارید ) . سپس با اتصال به پایگاه داده ، این دو رو چک می کنید .
خوب حالا مراحل چک کردن این دوتا :
1 - ابتدا نیاز به یک Connection دارید . بعد یک Command و بعد اجرای اون و گرفتن نتیجه .
کد:
 Dim connection As New SqlConnection
        connection.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings("MyCon").ConnectionString
        Dim command As New Data.SqlClient.SqlCommand()
        command.Connection = connection
        command.CommandText = "SELECT * FROM tblXuser WHERE Username=@name AND Password=@pass"
        command.Parameters.AddWithValue("name", username)
        command.Parameters.AddWithValue("pass", pss)
 
        Try
            connection.Open()
            If command.ExecuteScalar Is Nothing Then
 
            End If
 
        Catch ex As Exception
            name.Text = ex.Message
        Finally
            connection.Close()
        End Try

البته این یک راه خیلی افتضاحه ولی برای شروع بد نبود . ( البته امیدوارم زیاد فحش نداده باشید )
خوب اگه شناسه کاربری و رمز عبور ( فارسی را پاس بدارید ) درست باشه ، شما حداقل یک جواب خواهید داشت و گرنه معلوم می شه که کاربر کمی حواس پرته . :)

درسته میدونم..اما
منظورم اولش ورود دیتا هستش.
ببین من یک oledbدارم که با اکسس هستش. یعنی
dim,,,,,,as oledbconnection
میشه
ببین میشه یکم در مورد اتصال داده بزارین. من نمی خوام واقعا مزاحمتون بشم و یا وقتتون رو بگیرم
اما واقعا من هر کاری می کنم نمی تونم ارتباط بر قرار کنم. از لحاظ اطلاعات فنی هم خالی نیستم اما واقعا نمی تونم بین اینها ارتباط بر قرار کنم.
 

TNZ187

Member
دقیق تر

سلام . من هنوز متوجه نیاز شما نشده ام . منظورتون ConnectionString یا منظورتون وارد کردن اطلاعات به پایگاه داده است یا ... ؟
اگه دقیق تر بفرمایید ، زودتر به نتیجه می رسید .
 
ببین بزارین مختصر بگم :
من asp.net رو دارم رو vs2005 کار میکنم. و بیس کارم هم با زبان vb هستش.
ضمنا پایگاه داده رو هم با اکسس میسازم نه باsql. البته با دستورات sql اشنا هستم. اما من هرکاری میکنم نمیشه
اره منظورم همون بود

Imports System
Imports System.Data
Imports System.Data.OleDb

PartialClass Default2
Inherits System.Web.UI.Page
Dim con AsNew OleDbConnection("Provider = Microsoft.Jet.OLEDB.4.0;" & "Data Source = C:\Users\hp\Documents\Visual Studio 2005\WebSites\WebSite27\App_Data\student.mdb")
Dim da AsNew OleDbDataAdapter("select * from stTable", con)
Dim cb As OleDbCommandBuilder
Dim ds AsNew DataSet
Dim newrrow As DataRow
ProtectedSub Page_Load(ByVal sender AsObject, ByVal e As System.EventArgs) HandlesMe.Load


EndSub
ProtectedSub B1_Click(ByVal sender AsObject, ByVal e As System.EventArgs) Handles B1.Click
newrrow = ds.Tables(
"stTable").NewRow
newrrow(
"st No") = Val(T1.Text)
newrrow(
"name") = T2.Text
ds.Tables(
"stTable").Rows.Add(newrrow)
cb =
New OleDbCommandBuilder(da)
da.InsertCommand = cb.GetInsertCommand()
da.Update(ds,
"stTable")
con.Open()
da.Fill(ds,
"stTable")
con.Close()
T1.Text =
""
T2.Text = ""

EndSub
End
Class


ایرادش کجاس؟
 

TNZ187

Member
خیلی ...

سلام.
کدی که شما گذاشتید خیلی کار رو سخت کرده . راحت تر هم می شد کار کرد . تا اون جایی که من فهمیدم شما فقط می خواهید یک سری اطلاعات رو به پایگاه داده وارد کنید . خوب این کار خیلی راحت تر از اینی که شما انجام دادید هم ممکن بود . تازه به نظر می رسه که شما یک حلقه مفقوده در کدتون دارید ( راستش رو بخواهید این اولین باری بود که دیدم یک نفر داره به این صورت از CommandBuilder , dataset استفاده می کنه )
راه خیلی راحت تر اینه .
کد:
Dim command as new OledbCommand
dim Connection as new connection
command.CommandText="Insert Into tblXuser (UserName,Password) values (?,?)"
command.connection=Connection
command.parameters(0).value=user.Text
command.Parameters(1).value=password.Text
connection.open()
command.executeNoneQuery
connection.close()
نکته : تنظیمات Connection با خودتون . من ننوشتم چون دیدم خودتون به خوبی استفاده کرده اید . فقط اینکه به جای آدرس طولانی درون کد می توانید از این هم استفاده کنید
کد:
DataSource=|App_Data|\student.db

نکته آخر اینکه UserName,Password اسم فیلدهای جدول کاربران من می باشد .
 
بابا خود visual studio برای ورود user یکسری control داره از اونا استفاده کن
به کل وقتی داری با visual studio کار می کنی همه کنترل ها آماده وجود داره اگه msdn هم نصب کرده باشی که کارت دیگه باید را بیفته
اگر دوست داشتی بگو یه کتاب .net تحت c# دارم برات آپ کنم احتمالا به دردت می خوره
یه ebook هم در مورد database programing در asp.net دارم البته english خواستی بگو آپ کنم
 
بابا خود visual studio برای ورود user یکسری control داره از اونا استفاده کن
به کل وقتی داری با visual studio کار می کنی همه کنترل ها آماده وجود داره اگه msdn هم نصب کرده باشی که کارت دیگه باید را بیفته
اگر دوست داشتی بگو یه کتاب .net تحت c# دارم برات آپ کنم احتمالا به دردت می خوره
یه ebook هم در مورد database programing در asp.net دارم البته english خواستی بگو آپ کنم

در مورد کنترل ها شما راست میگین..اما نکته اینجاست که من الان پروژه انجام نمی دم
دارم یاد میگیرم
واسه همین از کنترل های کمکی استفاده نمی کنم.الان یادگرفتنش واسم مهمتره
ضمنا از اینکه با C# میخوای بدی ممنونم
اما من زبان وی بی هستش.
راستی....
من از بچه هایی که جوابمو دادن هم واقعا تشکر میکنم.
در مورد کد هم باید بگم که من کد رو ننوشتم یکی از بچه ها واسم فرستاده بود من یکم دستکاریش کردم...
امتحان میکنم بعد بهتون خبر میدم که چی شد.
بازم ممنونم
 

TNZ187

Member
همیشه نه !

بابا خود visual studio برای ورود user یکسری control داره از اونا استفاده کن
به کل وقتی داری با visual studio کار می کنی همه کنترل ها آماده وجود داره اگه msdn هم نصب کرده باشی که کارت دیگه باید را بیفته
اگر دوست داشتی بگو یه کتاب .net تحت c# دارم برات آپ کنم احتمالا به دردت می خوره
یه ebook هم در مورد database programing در asp.net دارم البته english خواستی بگو آپ کنم

دوست عزیز هیچ وقت از کنترل های آماده VS استفاده نکن ، چون خیلی برات معونه داره . اگه تا به حال استفاده کردی و به مشکل برنخوردی من رو خبر کن ، چون آخرین دفعه ای که این کار رو کردم کل سیستم Membership , Rolemanager, RoleAuthentication رو بازنویسی کردم .
 
عزیزم من هم از اونا استفاده نمی کنم ولی واسه کسی که تازه می خواد یاد بگیره مرجع مناسبی
شما می تونی کنترل رو اضافه کنی بعد کدی که مربوط به اون هست و اضافه شده رو ببینی و تا حدودی دستت می یاد که باید چه کار کنی در ضمن این یک پیشنهاد بود نه الزام
 
ممنونم
. اما مشکل لوگین من هم چنان هست .بچه ها عصر کدم رو براتون میزارم ایرادش رو بگیرین
فکر کنم اینجوری بهتره .
 
سلام به نظرتون ایرادش چیه؟

ممنونم
. اما مشکل لوگین من هم چنان هست .بچه ها عصر کدم رو براتون میزارم ایرادش رو بگیرین
فکر کنم اینجوری بهتره .
Imports​
System

Imports​
System.Data

Imports​
System.Data.OleDb


Partial​
Class Default2
Inherits System.Web.UI.Page
Dim con AsNew OleDbConnection("Provider = Microsoft.Jet.OLEDB.4.0;" & "Data Source = C:\Users\hp\Documents\Visual Studio 2005\WebSites\WebSite27\App_Data\student.mdb")
Dim da AsNew OleDbDataAdapter("select * from stTable", con)
Dim cb As OleDbCommandBuilder
Dim ds AsNew DataSet
Dim newrrow As DataRow
ProtectedSub Page_Load(ByVal sender AsObject, ByVal e As System.EventArgs) HandlesMe.Load


EndSub

ProtectedSub B1_Click(ByVal sender AsObject, ByVal e As System.EventArgs) Handles B1.Click
newrrow = ds.Tables(
"stTable").NewRow
newrrow(
"st No") = Val(T1.Text)
newrrow(
"name") = T2.Text
ds.Tables(
"stTable").Rows.Add(newrrow)
cb =
New OleDbCommandBuilder(da)
da.InsertCommand = cb.GetInsertCommand()
da.Update(ds,
"stTable")
con.Open()
da.Fill(ds,
"stTable")
con.Close()
T1.Text =
""

T2.Text =​
""


EndSub
End
Class
توضیح : فایل اکسس student
نام جدول ذخیره stTable
و دارای 2 فیلد می باشد.......
خب این همون کد هستش. اما اصولا با vs 2005 و زبان بیس VB کار میکنه و دیتا بیسش هم oledbو مال مایکروسافت اکسس هستش؟
حالا ایرادش رو اگه می دونین بگین .
مشکل اینجاس که :
واقعا اطلاعات رو وارد نمی کنه.........
ایرادی هم که میزاره اینه
Source Error:Line 20: Line 21: Protected Sub B1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles B1.ClickLine 22: newrrow = ds.Tables("stTable").NewRowLine 23: Line 24: newrrow("st No") = Val(T1.Text)

و من پیشنهاد میکنم بیاین این رو با هم حل بکنیم چون در اینده بدرد همه میخوره...
ممنون و متشکر از تمام بچه های فروم
 
من که نفهمیدم شما می خوای به دیتابیس دیتا اضافه کنی یا قسمت برای login به سایت می خوای
 
سلام دوباره
ببینید
کار من یه پروزه نیستش. یک کار آمورشی هستش. یعنی اینجا الان مثل یک سایت واقعی نمی خوام همه جوانب رو در نظر بگیرمو
پس با این وجود :
من یک صفحه aspx دارم که توش 2تا تکس باکس و یک دکمه سابمیت هستش....
اولی مربوط به username و دومی مربوط به password میشه.
با زدن دکمه من میخوام عملیات membershop رو اجرا کنم. یعنی اینکه بازدن دکمه اطلاعات این دو تا تکس باکس مستقیما و بدون چک کردن اینکه منحصر بفر هستش بره تو دیتا بیس....
ببینید دقت کنید . اینکار اصلا سکیوریتی رو مد نظر قرار نمیده.
من صرفا میخوام اینن اطلاهات رو بتونم بفرستم تو دیتا بیسی که با اکسس ساختم. بخدا دیگه بهتر از این و ابتدایی تر از این نمی تونم توضیح بدم
کمک!!!!!!!!!!!!!!!1
 

night11

Member
سلام دوباره
ببینید
کار من یه پروزه نیستش. یک کار آمورشی هستش. یعنی اینجا الان مثل یک سایت واقعی نمی خوام همه جوانب رو در نظر بگیرمو
پس با این وجود :
من یک صفحه aspx دارم که توش 2تا تکس باکس و یک دکمه سابمیت هستش....
اولی مربوط به username و دومی مربوط به password میشه.
با زدن دکمه من میخوام عملیات membershop رو اجرا کنم. یعنی اینکه بازدن دکمه اطلاعات این دو تا تکس باکس مستقیما و بدون چک کردن اینکه منحصر بفر هستش بره تو دیتا بیس....
ببینید دقت کنید . اینکار اصلا سکیوریتی رو مد نظر قرار نمیده.
من صرفا میخوام اینن اطلاهات رو بتونم بفرستم تو دیتا بیسی که با اکسس ساختم. بخدا دیگه بهتر از این و ابتدایی تر از این نمی تونم توضیح بدم
کمک!!!!!!!!!!!!!!!1

سلام

با این کارت راه میوفته

کد:
Public strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & Server.MapPath("db.mdb")

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim cmd As New OleDbCommand("INSERT INTO users (username, pass)VALUES('" & TextBox1.Text & "','" & TextBox2.Text & "')", New OleDbConnection(strConn))
        cmd.Connection.Open()
        cmd.ExecuteNonQuery()
        cmd.Connection.Close()
    End Sub
 
سلام بازم مشکل من با این پایگاه داده حل نشد.
ببخشید که دوباره این بحث رو باز کردم
اما فکر کنم اگه بتونیم این مسئله رو یکبار درست حسابی حل کنیم دیگه من مزاحتون نشم........
راستی این چند وقت درگیر امتحانات بودم زیاد کار نکردم اما مشکل من همچنان باقیه.
از بچه هایی که کمک کردند هم واقعا ممنونم.
اما مشکل من هنوزم هم هست.میگین چی کار کنم؟؟؟؟
من مسئله رو یکبار دیگه براتون شرح میدم .
ببینید.......
من الان در vs studio 2008 دارم کار میکنم. و دارم در قسمت asp.net و قسمت طراحی سایتش یه ارتباط با پایگاه داده برقرار میکنم
.
مشکل کجاست؟خوب میگم الان........
ببینید. من با هر دوی پایگاه داده ....چه oledb که واسه من اکسس بوده و چه sql امتحانش کردم . اما متاسفانه هر کاری میکنم نمی تونم باهاش ارتباط برقرار کنم.
ببینید. باز هم متذکر میشم که قصد من از این کار یه پروژه نیست و security اصلا مد نظر قرار نمی گیره.
پس چی شد؟؟؟ این شد که من
یک صفحه aspx دارم که توش یک textbox دارم و یک buttom که میخوام با زدن این دکمه اطلاعات حاوی تکس باکس به پایگاه داده ای به نام shila و جدولی بنام table1 و فیلدی بنام name بره.

Imports System.Data
Imports System.Data.OleDb

Partial Class _Default
Inherits System.Web.UI.Page

Protected Sub T1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles T1.TextChanged

End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

End Sub

من اینجا روی دکمه دابل کلیلک کردم و این اتصال رو در اون نوشتم
Protected Sub B1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles B1.Click
این محتویات کدی هست که من نوشتم

Dim strCon As String = " Provider=Microsoft.jet.oledb.4.0;data source=C:\Users\hp\Documents\Visual Studio 2008\practice 01\App_Data\shila.mdf;"

Dim con As New OleDb.OleDbConnection(strCon)
con.Open()
Dim strSQL As String = "SELECT * FROM table1"
Dim Adapter As New OleDb.OleDbDataAdapter(strSQL, con)

Dim Comm As New OleDb.OleDbCommand("INSERT INTO table1 (name) VALUES(t1.text)", con)
con.Close()
End Sub
End Class
نکته نکته......زبان من در .net ویژوال بیسیک هستش.پس کد c# نزارین هرچند زیاد با هم فرق نمی کنه.
بچه ها خواهشا اگه میخواین راهنمایی کنید از سورسهایی که قبلا استفاده کردین و جواب گرفتین باشه. نه اینکه از اینترنت لینک بی فایده و قدیمی بدین.
ضمنا اگه میخواین راهنماییم کنید روی همین کدی که من نوشتم ایراد بگیرین و بگین کجاش غلطه و از پارامتر ها و کلاسهایی که واقعا در این مورد کاربردی ندارند استفاده نکنید.
ضمنا ...یه سوال ....دیگه
اینکه اتصال رو کجای برنامه بدیم چقدر مهمه؟
مثلا من واسه ایجاد اتصال همه کدم رو روی buttom کذاشتم. نمی دونم درسته یا نه؟
اگه هم میشه این سورسی که من گذاشتم رو واسه خودتون امتحان کنید و ببینید چه ایرادی میگیره
چون من متوجه نشدم.
بچه ها واقعا ببخشین که این قدر راحت دارم اینارو میگم .اما بخدا دیگه دارم دیوونه میشم.
فکر نکنم
 

night11

Member
سلام بازم مشکل من با این پایگاه داده حل نشد.
ببخشید که دوباره این بحث رو باز کردم
اما فکر کنم اگه بتونیم این مسئله رو یکبار درست حسابی حل کنیم دیگه من مزاحتون نشم........
راستی این چند وقت درگیر امتحانات بودم زیاد کار نکردم اما مشکل من همچنان باقیه.
از بچه هایی که کمک کردند هم واقعا ممنونم.
اما مشکل من هنوزم هم هست.میگین چی کار کنم؟؟؟؟
من مسئله رو یکبار دیگه براتون شرح میدم .
ببینید.......
من الان در vs studio 2008 دارم کار میکنم. و دارم در قسمت asp.net و قسمت طراحی سایتش یه ارتباط با پایگاه داده برقرار میکنم
.
مشکل کجاست؟خوب میگم الان........
ببینید. من با هر دوی پایگاه داده ....چه oledb که واسه من اکسس بوده و چه sql امتحانش کردم . اما متاسفانه هر کاری میکنم نمی تونم باهاش ارتباط برقرار کنم.
ببینید. باز هم متذکر میشم که قصد من از این کار یه پروژه نیست و security اصلا مد نظر قرار نمی گیره.
پس چی شد؟؟؟ این شد که من
یک صفحه aspx دارم که توش یک textbox دارم و یک buttom که میخوام با زدن این دکمه اطلاعات حاوی تکس باکس به پایگاه داده ای به نام shila و جدولی بنام table1 و فیلدی بنام name بره.

Imports System.Data
Imports System.Data.OleDb

Partial Class _Default
Inherits System.Web.UI.Page

Protected Sub T1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles T1.TextChanged

End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

End Sub

من اینجا روی دکمه دابل کلیلک کردم و این اتصال رو در اون نوشتم
Protected Sub B1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles B1.Click
این محتویات کدی هست که من نوشتم

Dim strCon As String = " Provider=Microsoft.jet.oledb.4.0;data source=C:\Users\hp\Documents\Visual Studio 2008\practice 01\App_Data\shila.mdf;"

Dim con As New OleDb.OleDbConnection(strCon)
con.Open()
Dim strSQL As String = "SELECT * FROM table1"
Dim Adapter As New OleDb.OleDbDataAdapter(strSQL, con)

Dim Comm As New OleDb.OleDbCommand("INSERT INTO table1 (name) VALUES(t1.text)", con)
con.Close()
End Sub
End Class
نکته نکته......زبان من در .net ویژوال بیسیک هستش.پس کد c# نزارین هرچند زیاد با هم فرق نمی کنه.
بچه ها خواهشا اگه میخواین راهنمایی کنید از سورسهایی که قبلا استفاده کردین و جواب گرفتین باشه. نه اینکه از اینترنت لینک بی فایده و قدیمی بدین.
ضمنا اگه میخواین راهنماییم کنید روی همین کدی که من نوشتم ایراد بگیرین و بگین کجاش غلطه و از پارامتر ها و کلاسهایی که واقعا در این مورد کاربردی ندارند استفاده نکنید.
ضمنا ...یه سوال ....دیگه
اینکه اتصال رو کجای برنامه بدیم چقدر مهمه؟
مثلا من واسه ایجاد اتصال همه کدم رو روی buttom کذاشتم. نمی دونم درسته یا نه؟
اگه هم میشه این سورسی که من گذاشتم رو واسه خودتون امتحان کنید و ببینید چه ایرادی میگیره
چون من متوجه نشدم.
بچه ها واقعا ببخشین که این قدر راحت دارم اینارو میگم .اما بخدا دیگه دارم دیوونه میشم.
فکر نکنم

دوست عزیز کدی که من براتون گذاشتم کاملا کار می کرد
حالا اینکه شما استفاده کردی یا نکردی من نمی دونم .
شما هم بهتره به جای کد پروژه رو آپلود کنی تا اصلاح بشه .
 

TNZ187

Member
فکر کنم

سلام
فکر کنم منظورشون این بود که اگر کمی به خودتون زحمت بدهید و کدهایی رو که دوستان گذاشته اند امتحان کنید به جایی بر نمی خوره و اگر فکر می کنید که برمی خوره کل پروژه رو آپلود کنید تا ایشون لطف کنند و پروژه اصلاح شده رو براتون آپلود کنند . :mad:
 

TNZ187

Member
روی سرور نه ....

سلام
منظورم آپلود کردن پروژه روی سرور نبود ، بلکه آپلود اون توی فروم بود .
 

جدیدترین ارسال ها

بالا