یه سوال دیگه
چطوری میتونم تو فرم ویرایش به جای تکست باکس ، کمبو باکس بزارم و از لیست کشویی شماره تلفن را انتخاب کنم و با انتخاب شماره تلفن باقی اطلاعات سر جاهای خودش بشینه ؟
ممنون
آخرین ویرایش به وسیله barrai : سه شنبه 03 دی 1392 در 14:43 عصر
داداشی سرچ کن تو انجمن هست . من اضافه کردن یه تیبل از دیتابیس رو به کمبو باکس میذارم . باقیش با خودت . چون خودم کار نکردم روش هنوز داداشی .
Private Sub CboNoeMahsol()
'// tabee farakhani select 1 field az jadval db be combobox , DISTINCT : bedon tekrar
con = New SqlConnection(My.Settings.conn)
'// age con ma baste bod ono baz mikone
If con.State = ConnectionState.Closed Then
con.Open()
End If
Dim da As New SqlDataAdapter("select Distinct Name from TableShoma", con)
Dim ds As New DataTable
da.Fill(ds)
ComboName.DataSource = ds
ComboName.DisplayMember = "Name"
'// age con ma baz bod ono mibande
If con.State = ConnectionState.Open Then
con.Close()
End If
End Sub
بعدش تو Combo مورد نظر که قراره اطلاعات ما نشون داده شه این تابع رو فراخوانی می کنیم با Call اینجوری
1
2
3
Private Sub ComboNameMahsol_DropDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboNameMahsol.DropDown
Call CboNoeMahsol()
End Sub
سلام بچه ها . خو خودمم درگیر این بودم که چرا اررور باز بودن دیتابیس میده وقتی کار انجام شده یا بیشتر از 1 بار رو دکمه جستجو یا بروز رسانی یا هرچیزی کلیک میشه .
1 نمونش تو فرم ویرایش اطلاعات وقتی رو جستجو کلیک میکنید و بروز رسانی میزنید دفعه دیگه که کلیک میکنه اررور میده که همه رو وارد کنید اگه برید تو کد و قسمت آخر Catch رو به این تغییر بدید تا اررور رو بفهمید اینجوری :
Catch ex As Exception
MsgBox(ex.Message)
End Try
خو حالا واسه رفع مشکلمون من اول میام چک میکنم که اگه Connection من بسته بود اونو باز کنم .
بعد کارامو انجام بدم موقع دریافت اطلاعات یا همون Query از Sql میام شرط بذارم که اگه Connection ما وضعیتش همچنان باز بود بیا خروجی بده .
بعد که خروجی داد بیام Connection رو ببندم .
اینم کدش تو دکمه سرچ :
If TxtTell.Text = String.Empty Then
MsgBox("تلفن شخص را وارد كنيد", vbExclamation + vbOKOnly, "پيام")
TxtTell.Focus()
Exit Sub
End If
If TxtTell.TextLength > 0 Then
If con.State = ConnectionState.Closed Then
con.Open()
End If
cmd = New SqlCommand()
cmd.Connection = con
cmd.CommandText = "SELECT Fname,Lname,Address,Gen FROM TblRegister WHERE(Tell=@Tell)"
cmd.Parameters.Add("@Tell", SqlDbType.NVarChar, 50).Value = TxtTell.Text
'con.Open()
If con.State = ConnectionState.Open Then
Dim sReader As SqlDataReader = cmd.ExecuteReader()
If sReader.Read() Then
TxtName.Text = sReader.GetValue(0).ToString()
TxtLName.Text = sReader.GetValue(1).ToString()
TxtAddress.Text = sReader.GetValue(2).ToString()
TxtGen.Text = sReader.GetValue(3).ToString()
con.Close()
Else : MessageBox.Show("پیدا نشد")
End If
End If
End If
اینم کدش تو دکمه بروز رسانی :
Try
If con.State = ConnectionState.Closed Then
con.Open()
End If
cmd.CommandText = "UPDATE TblRegister SET Fname=@Fname,Lname=@Lname,Address=@Address,Gen=@Ge n WHERE(Tell=@Tell)"
cmd.Parameters.Add("@Fname", SqlDbType.NVarChar, 50).Value = TxtName.Text
cmd.Parameters.Add("@Lname", SqlDbType.NVarChar, 50).Value = TxtLName.Text
cmd.Parameters.Add("@Address", SqlDbType.NVarChar, 500).Value = TxtAddress.Text
cmd.Parameters.Add("@Gen", SqlDbType.NVarChar, 50).Value = CboGen.Text
'con.Open()
If con.State = ConnectionState.Open Then
Dim count As Integer
count = cmd.ExecuteNonQuery()
If count > 0 Then
MessageBox.Show("بروز رسانی شد")
con.Close()
Else : MessageBox.Show("اطلاعات مورد نظر پیدا نشد")
End If
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
همه پروژه هاتونم میتونید از این 2تا تیکه کد استفاده کنید .
با سلام از آقا بهروز و اموزش مفيدشان
ايا تو sql server express 2008 امكان داره كه پشتيبان فول - و همچنين از تراكنشها بصورت اتومات انجام بشه
ممنون
با سلام از آقا بهروز و اموزش مفيدشان
ايا تو sql server express 2008 امكان داره كه پشتيبان فول - و همچنين از تراكنشها بصورت اتومات انجام بشه
ممنون
با سلام
نسخه Express با Enterprise تفاوت چندانی در عملکردهای پایه ای نداره فقط قدرتش کمتره و امکانات اضافی رو نداره
Backup اتوماتیک رو میتونید در قسمت Maintnance Plan در sql تعریف کنید تا در زمانهای مورد نظر شما و در محل مورد نظر شما Backup بگیره
توصیه می کنم عوض پرسیدن سوالهای جزئی و گرفتن جوابهای ناقصی مثل جواب من ، حتما یک کتاب Sql Server رو کامل بخونید خیلی به دردتون میخوره
موفق باشید
داداش سوالتو خیلی خیلی بد پرسیدی که من اصلا نفهمیدم .
الان که دیدم دوستم توضیح داده متوجه شدم.
آره تو Sql Server 2008 امکان Backup گیری ( پشتیبان گیری ) از دیتابیس به صورت خودکار یا اتوماتیک ( Auto ) وجود داره .
واسه اینکار روی دیتابیست توی برنامه Sql Server 2008 راست کلیک کن و Task و بعدشم Backup رو بزن . همه چیز واضحه ولی بازم بهت میگم.
1 - اسم دیتابیستو واسه بکاپ انتخاب کن
2- نوعشو که کامل باشه یا نه
3 - کل دیتابیستو میخوای یا فایل ها و دیتاهاشو
4- تعیین میکنی که بعد از چند روز یا چه روزی به صورت خودکار بکاپ بگیره
5 - مسیر زخیره سازی بکاپ دیتابیس رو مشخص میکنید.
backup1.jpg
6- منوی آپشن های اضافی تنظیمات بکاپتونه.
7- فایلهای قبلی رو نگه میداره و اطلاعات جدید رو توش میریزه ( حجم دیتابیس بعد هر بار بکاپ حتی اطلاعات وارد نکنی 2 برابر میشه )
8 - اطلاعات جدید رو به جای قبلی جایگزین میکنه ( روش صحیح بکاپ اینه )
9 - قسمت اررور های بکاپه که اولیش بعد بکاپ دوباره چک میکنه بکاپو ، سومی هم میگه اررور رو بیخیال شو و ادامه بده بره
backup2.jpg
سوال رو واضح بپرسید لطفا خواهشا.
یا حق
سلام دوست من منظورت رو نفهمیدم .
ولی اگه منظورت پشتیبان گیری از بانک خودته که تو بخش Backup & Restore تو بخش Sql server این فروم موجوده .
به صورت اتوماتیک کردنشم که فقط 1 تایمر میخواد که تو تایم مشخص اینکار انجام شه . ولی تو نرم افزار ها باید بعد از دستور خروج از برنامت اینکار انجام بشه .
وقتی بکاپ گرفت بعد برنامه بسته شه اینجوری :
Dim s As String
s = MsgBox("آیا مایل به خروج از برنامه هستید؟ ", MsgBoxStyle.YesNo + MsgBoxStyle.Question, Title:="هشدار")
If s = vbYes Then
Try
Dim cnn As New SqlConnection("Data Source=(local);Initial Catalog=Sardkhone;Integrated Security=True")
Dim cmd As New SqlCommand
cnn.Open()
Dim query As String = "BACKUP DATABASE [Sardkhone] TO DISK =N'E:\Sardkhone.BAK'"
cmd.CommandText = query
cmd.Connection = cnn
cmd.ExecuteNonQuery()
MsgBox("پشتیبانگیری با موفقیت صورت گرفت")
cnn.Close()
Catch ex As Exception
MsgBox("مشکل در پشتیبان گیری")
End Try
End
End If
این دستور اول میگه میخواید خروج شید یا نه اگه کاربر بله رو بزنه بکاپ میگیره و دیتابیس منو تو درایو E میریزه . هربارم روش آپدیت میکنه .
اگه میتونی متغیرش کن به فولدر خود برنامه و فایل زیپشم بکن . من هنز وقت نکردم روش کار کنم . تا حالا هم روش کار نکردم . ولی جستجو کن پره.
یا حق
سلام
چجوری میشه جدولمونو ویرایش کنیم؟
جدول کجاتو داداشه من ؟؟؟ دیتابیس رو میگی ؟؟؟ توی Sql server 2008 روی دیتابیست دابل کلیک کن باز که شد روی Tables کلیک کن و Table مورد نظر رو روش راست کلیک کن و Design رو واسه طراحی ، اضافه یا کم و زیاد کردن فیلد هاش استفاده کن و از Show 200 Row رو واسه دیدن 200 رکورد ثبت شده خودت استفاده کن بعد که اطلاعاتتو دیدی ویرایش یا حذف کن
یا حق
آقا بهروز سلام . د رعبارت لایک که شما برای جستجو گذاشتین اگر مقدار یک فیلد عدد باشه خطا میگیریه . تغییری در دستور باید داد ؟توی تکس باکس روی تکس باکس تلفن دابل کلیک کنید و تو رویداد TextChanged اون کد زیر رو واسه فیلتر کردن بر حسب شماره تلفن بنویسید :
TblRegisterBindingSource.Filter = "Tell Like '*" & TxtTell.Text & "*'"
آقا بهروز منظور من اینه که نوع فیلد در دیتابیس عددی باشه نه اینکه شما در شماره تلفن عدد وارد کرده باشین .
چون زمانیکه بادستور شما یک فیلد عددی جستجو میشه از DataType اون اشکال میگیره . لطفا یک بررسی مجدد بفرمائید
داداشی این تست شدست . اررورش رو بفرست . چون اگه نوع فیلدش رو عدد یا چیز دیگه میذاشتم تو گزارش گیری مشکل ساز بود واسم .
بچه ها کسه دیگه این مشکل رو داره ؟؟؟
با سلام
ارور در خصوص نوع دیتا هست . الان پروه دم دستم نیست و در اداره و در محل کارمه .
ولی عرض کردم . نوع دیتای من در بانک از نوع bigint هست و این دستور شما از نوع دیتا اشکال میگیره . چون دستور شما نوع استرینگ رو برمیگردونه
دوست من ، پروژه در اختیار شماست . دیتابیس هم که دارید .
من نوع رو Nvarchar گذاشتم فکر کنم بازم نمیدونم . الان دم دست ندارم تو Pc ایمه . ولی یادمه که موقع نوشتن وقتی نوع int یا BigInt رو سرچ میکردم به مشکل میخوردم .
Int که 11 عدد میگیره .
BigInt خوبه . ولی فکر کنم Bigint باشه هااا . بازم چک میکنم .
ولی Nvarchar خوبیش اینه که میشه +98 گذاشت دوست من . واسه این گذاشته بودم . ولی بازم چک میشه
واقعا دمت گرم...........
خیلی عالی بود.من هم سه سوال داشتم اون هم این بود که وقتی فایل دیتابیس طراحی شد و بخوایم در شبکه ازش استفاده کنیم مثلا 5-6 سیستم باید اونو توی یه پوشه شییر شده بذاریم و دایرکتوری کانکشن استرینگ رو هم به ادرس پوشه شییر شده تغییر بدیم.ایا این روش درسته؟ یا روش بهتری برای شبکه هست؟
و دومین سوال: برای انتقال به سیستم مشتری گفتین که engin sql کافیه از نظر حجم فایل نصبیش چقدر هست و ایا حتما برای sql2008 دات نت 4 لازمه چون برناممو با دات نت 2 نوشتم به جهت کاهش حجم فایل ستاپ برا دانلودش؟؟؟؟؟
دوباره ازتون بخاطر وقتتی که گذاشتین تشکر می کنم!!!!!!
آقا بهروز اگه میشه لطف کن بگو چطوری باید Tableساخت و کجا ذخیره میشه؟؟ آیا میشه ان رو در گرید ویو نمایش بدم؟؟و انواع داده های اون جیه؟؟
آخرین ویرایش به وسیله sagggad : سه شنبه 12 آذر 1392 در 09:49 صبح
خوب دوستان به صورت آزمایشی ما میایم رو برنامه دفترچه تلفن ساده به صورت تستی کار می کنیم که هم همه آشنا بشن هم به درد همه بخوره هم کسی هم اگه خواست می تونه نظر بده تا همه استفاده کنن .
به نام هستی
مرحله اول ساخت دیتابیس با Sql Server 2008
1.jpg
در این مرحله طبق روی Database راست کلیک کنید . گزینه New Database رو بزنین .
2.jpg
نام دیتابیس رو تو کادر بالا بنویسین من از TellDB استفاده کردم . سپس به Option برید و ببینید که کادر مورد نظر تو عمس رو Sql server 2008 (100) باشه . به باقی چیزا دست نزنین و Default باشه و Ok کنین . دیتابیس ما ساخته شد .
تو مرحله بعد می رسیم به ساخت Table مورد نظر برای ثبت اطلاعات .
طبق عکس روی Table راست کلیک کنید و New Table رو بزننین .
4.jpg
فیلد های مورد نظر رو وارد کنید و نوع داده ای اونا رو هم طبق عکس وارد کنید . رو به روی Id تیک Allow Null غیر فعال باشد زیرا اجازه خالی وارد کردن به اون داده نشه و سپس واسه اینکه به صورت صعودی با هر رکورد جدید یک Id بگیره میایم تو کادر پایین روی Identity Specification دابل کلیک کنید تا فعال بشه و Yes بشه و گزینه Is Identity رو هم Yes کنید و زیرش هم مشخص میکنید که از چند شروع بشه به صورت پیش فرض از 1 شروع میشه تا ....
تو این مرحله Id رو به عنوان کلید اصلی در نظر میگیریم که بعدا اگه Table دیکگه اضافه کردیم بتونیم با این کلید به Table دیگه وصل شیم .
8.jpg
تو این مرحله برای ذخیره دیتابیسمون روی دکمه Save کلیک کرده و طبق عکس توی کادر اسم Table خودمون رو مینویسیم و سپس Ok میکنیم .
تبریک میگم شما هم Database رو ساختید هم Table مورد نظر رو .
امیدوارم تا اینجا مفهمومی بوده باشه و راضی باشید در مرحله بعد اولین صفحه برنامه دفترچه تلفن رو شروع میکنیم . مشکلی بود بپرسین .
تویه پست بالا رو نگاه کن 2 تا سورس آپ کردم یکی با دیتابیس و یکی هم بدون دیتابیس . اون با دیتابیس رو دوستان می تونن کپی کنن تو سیستمشون و توی Sql Server 2008 اونو Attach کنن. و برنامه رو اجرا کنن