PDA

View Full Version : سوال در شروع برنامه



بیتافرهی
جمعه 18 مرداد 1387, 20:12 عصر
سلام
من میخوام یه برنامه با سی شارپ و sql2005 بنوسم.اما تا به حال تجربه ی چنین کاری نداشتم.لازم به ذکر است برنامه ای که به من پیشنهاد انجام آن داده شده،از چند فرم تشکیل شده که در واقع فرم اول از یه سری باتن تشکیل شده ،که هر کدام از این باتن ها مربوط به یه نوع فرم اطلاعاتی است که اطلاعاتی را از کاربر می گیرد.مشکلم اینجاست که در طراحی جدول متوجه شدم یه سری اطلاعات مثلا نام و نام خانوادگی دائما تشکرار می شود در تمام این فرم های اطلاعات که هر باتن در واقع باز کنندهی ی این فرم اطلاعاتی است.

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

baran_mehr
جمعه 18 مرداد 1387, 20:43 عصر
سلام گلم.
خوب میتونی قبل از اینکه اطلاعات رو وارد جدول کنی یه سرچ کوچولو انجام بدی (Select) و اگر جوابی برگشت داد یعنی اطلاعات تکراری هست و عمل Insert رو انجام نده و در غیر این صورت یعنی اطلاعاتی رو بر نگردوند یعنی اینکه کسی با این مشخصات نداری و میتونی اطلاعاتت رو وارد کنی.
شاد باشی

hdv212
جمعه 18 مرداد 1387, 20:47 عصر
برای این منظور شما میتونی جدولی با عنوان مشترکین ایجاد کنی که شامل شناسه،نام و نام خانوادگی افراد باشه، سپس در هر جدول که نیاز به درج نام و نام خانوادگی هست، شناسه ی شخص مورد نظر رو از جدول مشترکین درج کنید. به این ترتیب، علاوه بر جلوگیری از وارد کردن اطلاعات مشابه در جداول مختلف، ارتباط مناسب و مشخصی رو بین جدول مشترکین و جداول دیگه برقرار کردید.
موفق باشید.

بیتافرهی
شنبه 19 مرداد 1387, 09:12 صبح
یعنی باید قبل از هر کاری یه تابعی را برای این کار فراخوانی کنم؟

ببخشید کسی قبلا همچین برنامه ای را جایی دیده؟می تونید اینجا بذارید؟فکر می کنم با مثال بهتر متوجه بشم.

baran_mehr
شنبه 19 مرداد 1387, 15:16 عصر
سلام گلم.
ببخشید چون کار داشتم نتونستم کد #C رو برات بنویسم و این کد رو از تو یکی از برنامه هم جدا کردم که به زبان VB هست. همین روند رو میتونی تو #C هم انجام بدی ....البته شاید اصولی به نظر نرسه
یعنی اول اطلاعاتت رو تو جدول جستجو کن و در صورتی که رکوردی برگردونده شد یعنی همچین فیلدی وجود داره و یه پیغام نشون میده و در غیز این صورت اطلاعات رو تو جدول وارد کن.



cmd.CommandType = Data.CommandType.Text
cmd.CommandText = "select username FROM aza where username='" + TextBox7.Text + "'"
cmd.Connection = cnt
da.SelectCommand = cmd
dt.Clear()
da.Fill(dt)
GridView1.DataSource = dt
GridView1.DataBind()


If GridView1.Rows.Count - 1 >= 0 Then
MsgBox(".نام کاربری وارد شده تکراری می باشد" + ControlChars.CrLf + ".لطفا نام دیگری را انتخاب بفرمایید", MsgBoxStyle.Information, "سیستم ورود کارمند")
Else

cmd.CommandType = Data.CommandType.Text
cmd.CommandText = " دستور Insert "
cmd.Connection = cnt
cmd.ExecuteNonQuery()
End If