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

نام تاپیک: درج جدول با تعداد ستون های مشخص

  1. #1

    درج جدول با تعداد ستون های مشخص

    سلام.

    میخوام بدونم چطور میشه تعداد ستون های یک جدول دیتابیس رو از کاربر درون یک تکست باکس دریافت کرد و بعد یک Table با همون تعداد ستون در دیتابیس ایجاد کرد؟

  2. #2
    کاربر دائمی آواتار SReza1
    تاریخ عضویت
    تیر 1382
    محل زندگی
    کنار تعدادی تراریوم و کاکتوس!
    پست
    702

    نقل قول: درج جدول با تعداد ستون های مشخص

    نقل قول نوشته شده توسط va2012 مشاهده تاپیک
    سلام.

    میخوام بدونم چطور میشه تعداد ستون های یک جدول دیتابیس رو از کاربر درون یک تکست باکس دریافت کرد و بعد یک Table با همون تعداد ستون در دیتابیس ایجاد کرد؟
    فرض كن اسم جدول رو در متغير TableName و تعداد ستونها را در متغير FieldCount گذاشتي. حالا اينكه ميخواهي اينو پروسيجر كني و از تو برنامه C و يا دلفي پاس بدي با خودت



    DECLARE
    @TableName VARCHAR(100) ,
    @FieldCount INT ,
    @SQL VARCHAR(8000)

    SET @TableName = 'YourTable'
    SET @FieldCount = 5

    SET @SQL = 'CREATE TABLE ' + @TableName + ' ('

    WHILE @FieldCount > 0
    BEGIN
    SET @SQL = @SQL + 'F' + CAST(@FieldCount AS VARCHAR(2)) + ' [numeric](18, 0) ,'
    SET @FieldCount = @FieldCount - 1
    END

    SET @SQL = @SQL + ')'

    EXEC(@SQL)


    GO


    در ضمن جدولت كليد نداره و ميتوني خودت يك كليد از نوع identity بهش اضافه كني. حتما اين كار را هم بكن. ضمن اينكه فيلدها همه از نوع عددي هستند. ميتوني اين را هم پارامتري كني

  3. #3

    نقل قول: درج جدول با تعداد ستون های مشخص

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

    مثلا یکی از دوستان این تابع رو معرفی کرد ولی Error میداد :

        string InsertTable(int ColumnsCount)
    {
    string SqlString = @"CREATE TABLE TableName" + i.ToString() + "(";
    string Col = "";

    for (int j = 0; j <= ColumnsCount; j++)
    {
    Col = Col + j.ToString() + "Column" + ",";

    }

    Col = Col + ColumnsCount.ToString() + "Column";
    SqlString = SqlString + Col + ")";


    return SqlString;
    }

  4. #4
    کاربر دائمی آواتار mohsen.net
    تاریخ عضویت
    آبان 1383
    محل زندگی
    تهران
    پست
    178

    نقل قول: درج جدول با تعداد ستون های مشخص

    باید در بخش سی شارپ بپرسی

  5. #5

    نقل قول: درج جدول با تعداد ستون های مشخص

    نقل قول نوشته شده توسط mohsen.net مشاهده تاپیک
    باید در بخش سی شارپ بپرسی
    چون جزو دستورات SQL هست اینجا پرسیدم. توی بخش سی شارپ پرسیدم همون تابع رو بهم معرفی کردند ولی احتمالا مشکل داره که اجرا نمیشه. دستور زیر رو برای ایجاد جدول با 6 ستون نوشتم ولی حالا لازم دارم که یک Table با تعداد ستونهای مشخص که در یک تکست باکس نوشته میشه ایجاد بشه.

    فکر میکنم سوال خیلی واضح هست . نمیدونم چرا کسی راهنمایی نمیکنه .
    من فقط میخوام این دستور SQL رو طور بنویسم که تعداد ستون هاش رو بشه از کاربردریافت کرد.

    string strSql = @"CREATE TABLE TableName (1 Text,2 Text,3 Text,4 Text,5 Text,6 Text)";


  6. #6
    کاربر تازه وارد آواتار ma_barnamenevis
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    همین جا
    پست
    79

    نقل قول: درج جدول با تعداد ستون های مشخص

    جواب SReza1 تمیز تره ،
    تابع ات هم تعداد ستونها رو دو تابیشتر از آنچه که کاربر می خواد در می آیره نام ستون آخر رو هم تکراری می اندازه ، i ات نمی دونم کجا داره پر می شه بهر حال فکر می کنم اگر حلقه for ات رو این شکلی بنویسی مشکلت حل شه :
    (++for (int j = 1; j < ColumnsCount; j
    درنهایت اگه حل نشد بایت برنامه رو تریس کنی ببینی در sqlstring ات با چه عبارتی پر میشه بعد اونو تو sql اجرا کنی ببینی مشکلش چیه.

  7. #7

    نقل قول: درج جدول با تعداد ستون های مشخص

    ممنون ولی من دیتابیسم اکسس هست و SQL هم روی سیستم نصب نیست. حالا چطور از اون دستوراتی که آقا رضا نوشتن باید استفاده کنم ( در سی شارپ) یعنی باید این دستورات رو به شکل یک رشته بنویسم ؟

    تابع رو هم به همون شکلی که شما گفتین تغییر دادم . ارور Syntax error in field definition میده. راستی این کلمه
    "Column" که توی تابع اومده در SQL یک کلمه کلیدی هست؟ میشه یکم در مورد اون تابع توضیح بدین که چطوری کار میکنه؟
    آخرین ویرایش به وسیله va2012 : چهارشنبه 13 اردیبهشت 1391 در 10:44 صبح

  8. #8
    کاربر تازه وارد آواتار ma_barnamenevis
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    همین جا
    پست
    79

    نقل قول: درج جدول با تعداد ستون های مشخص

    تابعهه بازم اشکال داشت ، درستش کلاً میشه این :
    stringInsertTable(intColumnsCount)
    {
    string SqlString = @"CREATE TABLE " + txttablename.text + "(";
    string Col = "";

    for (int j = 1; j < ColumnsCount; j++)
    {
    Col = "Field" + j.ToString() + " int,";
    }

    Col = Col + "Field" + ColumnsCount.ToString() + " int";

    SqlString = SqlString + Col + ")";
    returnSqlString;
    }
    من فیلدها رو int گرفتم می تونی هر چی می خوای بگیری ، این رو sql جواب می ده ولی رو access باید خودت تست کنی من access ندارم .

  9. #9

    نقل قول: درج جدول با تعداد ستون های مشخص

    ممنون ولی وقتی این تابع رو فراخوانی میکنم و یک عدد مثلا 10 رو به عنوان ColumnsCount قرار میدم یک جدول با دو تا ستون که نام دو ستون Field 9 وField 10 هست می سازه و هر عدد دیگه ای هم بذارم دو تا ستون بیشتر تولید نمیشه فقط نامشون تغییر می کنه.

    اینم عکس جدول :

    5-1-2012 3-45-55 PM.png

  10. #10

    نقل قول: درج جدول با تعداد ستون های مشخص

    خوب من خروجی این تابع رو برای یک عدد مثلا 10 حساب کردم شد این کد :

    SqlString = @"CREATE TABLE T1 (""Field" + 9 + " Text,""Field" + 10 + " Text"")";


    از این کد مشخصه چرا فقط دو تا ستون درست میکنه. پس باید تابع رو تغییرداد. دلیش هم اینه که حاصل اون حلقه For میشه
    Field " 9 " و این قسمت به کد خط بعد که حاصلش Field " 10 " هست اضافه میشه و همیشه یک مقدار ثابت رو بر می گردونه که همون کد بالایی میشه.

  11. #11

    نقل قول: درج جدول با تعداد ستون های مشخص

    نقل قول نوشته شده توسط ma_barnamenevis مشاهده تاپیک
    تابعهه بازم اشکال داشت ، درستش کلاً میشه این :
    stringInsertTable(intColumnsCount)
    {
    string SqlString = @"CREATE TABLE " + txttablename.text + "(";
    string Col = "";

    for (int j = 1; j < ColumnsCount; j++)
    {
    Col = "Field" + j.ToString() + " int,";
    }

    Col = Col + "Field" + ColumnsCount.ToString() + " int";

    SqlString = SqlString + Col + ")";
    returnSqlString;
    }
    من فیلدها رو int گرفتم می تونی هر چی می خوای بگیری ، این رو sql جواب می ده ولی رو access باید خودت تست کنی من access ندارم .
    آقا ممنون درست شد. مشکل از دوتا Space بود که بایدبین رشته ها قرار میگرفت. بازهم تشکر !

تاپیک های مشابه

  1. سوال: طریقه ساخت جدول بهینه با ستون های زیاد ؟
    نوشته شده توسط tem988 در بخش PHP
    پاسخ: 2
    آخرین پست: پنج شنبه 18 اسفند 1390, 14:20 عصر
  2. سوال: تعداد ستون های جدول
    نوشته شده توسط farnaz.saeedi در بخش MySQL
    پاسخ: 1
    آخرین پست: چهارشنبه 09 آذر 1390, 19:32 عصر
  3. تعداد ستون های یک DataGridView
    نوشته شده توسط barnamenevis_omid در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 1
    آخرین پست: چهارشنبه 09 دی 1388, 19:01 عصر
  4. تعداد ستون های نامشخص در کریستال ریپورت
    نوشته شده توسط mta_va در بخش گزارش سازی با Crystal Report
    پاسخ: 0
    آخرین پست: سه شنبه 26 شهریور 1387, 11:27 صبح
  5. پاسخ: 3
    آخرین پست: شنبه 25 مرداد 1382, 13:54 عصر

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

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