نمایش نتایج 1 تا 19 از 19

نام تاپیک: مشکل با SQL(سوال یک مبتدی)

  1. #1

    مشکل با SQL(سوال یک مبتدی)

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

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    strsql = "insert into jadval1(esm,famil,tt,mt)values('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "','" + TextBox4.Text + "')"
    cmd.CommandText = strsql
    cmd.Connection = acon
    DataGridView1.TabIndex = 2
    cmd.ExecuteNonQuery()
    ds.Tables("jadval1").Clear()
    da.Fill(ds, "jadval1")
    End Sub



    وقتی جدولم خالیه برای بار اول محتویات هر چهار تکست باکس در جدول قرار میگیره ولی بار های بعدی در خط روبرو ارور میده در

    cmd.ExecuteNonQuery()

    اینم کد ارور

    eror
    Violation of PRIMARY KEY constraint 'PK_jadval1'. Cannot insert duplicate key in object 'jadval1'.

    The statement has been terminated


    من می خوام پس از هر بار کلیک کردن یه سطر یه انتهای جدول اضافه کنه لطفا بگید مشکل از کجاست

    و یه سوال دیگه هم اینه که آیا SQL برنامه قوی هست هدف من استفاده از آن در یه هاست هست آیا برنامه SQL برنامه قوی هست و پشتبیانی خوبی داره یا نه در کل نظرتون را راجع به اینکه من SQL رو انتخاب کردم بگید
    با تشکر

  2. #2
    کاربر دائمی آواتار linux
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    تهران
    پست
    2,313

    نقل قول: مشکل با SQL(سوال یک مبتدی)

    PK یا همون کلید اصلی شما تکراری هست بخاطر این خطا میده.

  3. #3

    نقل قول: مشکل با SQL(سوال یک مبتدی)

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

  4. #4
    کاربر تازه وارد آواتار Javadxp
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    مرند - تهران
    پست
    51

    نقل قول: مشکل با SQL(سوال یک مبتدی)

    جدول شما دارای یه کلید اصلیه (Primary key). کلید اصلی نباید NULL یا تکراری باشه. این خطا هم به خاطر وجود مقدار تکراری برای کلید اصلیتونه. اگه ممکنه شما فیلدهای جدولتون رو بنویسین تا بهتر بتونیم بحث کنیم.

  5. #5

    نقل قول: مشکل با SQL(سوال یک مبتدی)

    دوست من فیل هلی جدول من (esm,famil,tt,mt) هستند
    من واقعا شرمندم که نمیدونم چی کار کنم فقط خواهشم اینه که کمک کنید
    یه دیتابیس ساختم که چهر تا ستون داره ستون اولی رو ست کردم و تیک ستون آخری رو گذاشتم و همه چیو تو پستای قبلی گفتم
    با تشکر

  6. #6

    نقل قول: مشکل با SQL(سوال یک مبتدی)

    آقا تورو خدا کمک کنین

  7. #7

    نقل قول: مشکل با SQL(سوال یک مبتدی)

    ببین بهتره کلیدت رو برداری از روی فیلدت و یا اینکه رکورد تکراری وارد نکنی راست کلیک روی فیلد مورد نظر و remove primary key رو بزن خودتو خلاص کن البته این کارهارو باید تو قسمت sqlserver management انجام بدی . یا از خود visual stodio قسمت server explorer بعد فایلتو باز کنی تو این قسمت و بعدش رو جدولت راست کلیک کنی وopen teble defintion رو بزنی و کلیدتو پاک کنی .

  8. #8

    نقل قول: مشکل با SQL(سوال یک مبتدی)

    سعی کنید برای تاپیکتون عنوان مناسب انتخاب کنید. 90% افرادی که اینجا تاپیک ایجاد می کنند با SQL یا SQL Server مشکل دارند، پس عنوان شما کمکی به پی بردن کاربران تالار به موضوع تاپیک شما نمیکنه.
    تاپیک هایی که عنوان مناسب نداشته باشند، حذف خواهند شد!


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  9. #9

    نقل قول: مشکل با SQL(سوال یک مبتدی)

    با تشکر از شما دوست عزیزم اون مشکل من خوشبختانه رفع شد
    حالا چندتا سوال دیگه دارم که یکی یکی میپرسم
    1 من وقتی یه فیلد رو delete می کنم در datagrid تغییرات رو نمیبینم و مجبورم برنامه رو ببندم و دوباره باز کنم آیا برای رفع این مشکل راهی وجود داره
    2 وقتی من یه فیلر رو به دیتا بیم ضافه میکنم data grid به بالاترین سطر خود میره
    من از کد زیر استفاده کردم ولی جواب نداد
    a = DataGridView1.RowCount
    DataGridView1.TabIndex = a - 1
    3 من vb6 تا الان کار میکردم یه دستوری تو ویبی وجود داره که می خوام ببینم معادلی تو دات نت داره یا نه
    1 DoEvents
    2 On Error Resume Next
    با تشکر فراوان
    ............................................
    با تشکر از شما آقای کشاورز
    آیا من باید خود مشکلم رو به عنوان اسم تاپیک به کار ببرم
    در این صورت عنوان خیلی بزرگ میشه عیبی نداره

  10. #10

    نقل قول: مشکل با SQL(سوال یک مبتدی)

    آیا من باید خود مشکلم رو به عنوان اسم تاپیک به کار ببرم
    در این صورت عنوان خیلی بزرگ میشه عیبی نداره
    همین که عبارتی به کار ببرید که موضوع کلی تاپیک را برساند کفایت میکنه، مثلا برای همین تاپیک می تونستید بنویسید "مشکل در وارد کردن داده به جدول".

    موفق باشید


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  11. #11

    نقل قول: مشکل با SQL(سوال یک مبتدی)

    با تشکر از شما مدیر عزیز و مهربان
    ................................................
    سوال دیگه ای دارم
    وقتی ما یه تکست داریم و می خواهیم مقدار اون تکست رو در یهمتغیر ببریم دستور
    a=textbox1.text
    که باعث میشه مقدار اون تکست در متغیر a قرار بگیره حالا من می خوام همین کارو با دیتاگرید بکنم ولی نمیدونم چی کار کنم می خوام وقتی روی یکی از سطرها سلکت میکنم مقدار اون وارد یه متغیر بشه
    با تشکر

  12. #12

    نقل قول: مشکل با SQL(سوال یک مبتدی)

    نقل قول نوشته شده توسط aminbrleevb مشاهده تاپیک
    با تشکر از شما دوست عزیزم اون مشکل من خوشبختانه رفع شد
    حالا چندتا سوال دیگه دارم که یکی یکی میپرسم
    1 من وقتی یه فیلد رو delete می کنم در datagrid تغییرات رو نمیبینم و مجبورم برنامه رو ببندم و دوباره باز کنم آیا برای رفع این مشکل راهی وجود داره
    با تشکر فراوان
    ............................................
    باید جدولتو refresh کنی . بعد از هر بار insert یا delete باید این کارو کنی از دوباره جدولتو پر کن

    DataTable dt = newDataTable();
    connect consql = newconnect();
    dt = consql.MySelect(
    "select * from input where code='" + comboBox1.Text + "'");
    dataGridView1.DataSource = dt;

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

  13. #13

    نقل قول: مشکل با SQL(سوال یک مبتدی)

    با تشکر از شما دوست عزیز
    ولی کد بالا نتونست مشکل منو حل کنه بزارین یه جور دیگه بگم فرض کنید که یه جدول داریم که اون جدول دارای چندین سطر و ستون هست و یه تکست باکس هم داریم من می خوام وقتی روی یکی از خونه های این جدول کلیک میکنم مقدار اون سلول در تکست باکس نمایش پیدا کنه
    و اگه ممکنه بگید که چجوری میشه وقتی بر روی یکی از خونه های جدول کلیک می کنیم مثلا شماره raw رو بهمون بده و چجوری میشه روی یکی از سطر ها بدون کلیککردن و فقط با یه کد سلکت کرد
    با تشکر
    ................
    منظورم 2 پست پیش بود
    آخرین ویرایش به وسیله aminbrleevb : شنبه 28 دی 1387 در 19:43 عصر

  14. #14

    نقل قول: مشکل با SQL(سوال یک مبتدی)

    اگه می خوای روی هر سلول از دیتاگرید کلیک کردی فقط همون خونرو مثلا تو یه تکست باکس یا لیبل بهت نشون بده ازین کد استفاده کن :

    label25.Text = dataGridView1.CurrentCell.Value.ToString();
    آخرین ویرایش به وسیله slashslash2009 : شنبه 28 دی 1387 در 20:41 عصر

  15. #15

    نقل قول: مشکل با SQL(سوال یک مبتدی)

    با تشکر از شما دوست عزیزم
    حالا یه مشکلی دیگه پیش اومده به کد زیر دقت کنید
    dell = DataGridView1.CurrentCell.Value
    cmd.CommandText =
    "DELETE FROM jadval1 WHERE esm=dell"
    متاصفانه در خط دوم متغیر مقدار dell را قبول نمی کند آیا راه حلی برای رفع این مشکل وجود دارد
    بازم مرسی

  16. #16

    نقل قول: مشکل با SQL(سوال یک مبتدی)

    DELETE FROM jadval1 WHERE esm=dell
    این کد مربوط میشه به زبان sql و شما دارید به نحوی در سی شارپ استفاده میکنید پس باید یه جوری درستش کنی البته قبل از اینکه یک کد باشه یک رشته هست بهتره اونو اینجوری بنویسیش :

    cmd.CommandText = "DELETE FROM jadval1 WHERE esm='" + dell.ToString() + "'";

  17. #17

    نقل قول: مشکل با SQL(سوال یک مبتدی)

    این یکی رو نمیدونم بهتره یه سرچی کنی شاید یه چیزی پیدا کنی .

  18. #18

    نقل قول: مشکل با SQL(سوال یک مبتدی)

    با تشکر از شما دوست عزیزم اون مشکل من خوشبختانه رفع شد
    حالا چندتا سوال دیگه دارم که یکی یکی میپرسم
    (1) وقتی من یه فیلر رو به دیتا بیسم اضافه میکنم data grid به بالاترین سطر خود میره
    من از کد زیر استفاده کردم ولی جواب نداد

    a = DataGridView1.RowCount
    DataGridView1.TabIndex = a - 1


    (2) من vb6 تا الان کار میکردم یه دستوری تو ویبی وجود داره که می خوام ببینم معادلی تو دات نت داره یا نه
    DoEvents

    On Error Resume Next

    با تشکر فراوان

  19. #19

    نقل قول: مشکل با SQL(سوال یک مبتدی)

    بهتره این مشکلتو بری تو تاپیک سی شارپ مطرح کنی

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •