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

نام تاپیک: دستور create table

  1. #1
    کاربر دائمی
    تاریخ عضویت
    آبان 1384
    محل زندگی
    Shiraz
    پست
    195

    دستور create table

    سلام. در برنامه من که با VB 6 و بانک SQL نوشتم بعد از اضافه کردن مشخصات هر ماشین به بانک باید جدولی به نام خود ان ماشین در بانک ساخته شود. نام بانک همان کدی است که کاربر به عنوان کد ماشین در TextBox مربوط به ان وارد می کند. در زمان اجرا از اسم بانک که من انرا از TextBox.Text برمیدارم ایراد میگیرد با این عنوان که Incorrect Syntax near '768' (768 در اینجا مثلا کدی است که کاربر وارد کرده.) دستور SQL برنامه را به این صورت نوشته ام :
    sakhte_table = "create table "+ TextBox.Text + " (codem nvarchar(10),coderan nvarchar(20),codeoto nvarchar(20),time nvarchar(8))))"

    لطفا به من کمک کنید. خیلی وقت کم دارم....

  2. #2
    سلام دوست عزیز
    البته من هنوز با پروژه شما آشنا نیستم ولی فکر میکنم طراحی بانکتون یه مشکلی داره که مجبور هستید این شکلی جدول ایجاد کنید.
    در مورد مشکلت هم بهتره تو بخش VB مطرح کنی
    You never know what you can do until you try

  3. #3
    کاربر دائمی
    تاریخ عضویت
    آبان 1384
    محل زندگی
    Shiraz
    پست
    195
    نه این بخاطر مشکل در طراحی بانک نیستش. ماهیت برنامه اینه که به صورت پویا با اسمی که کاربر وارد میکنه جدول بسازه. با این فرض به من کمک کنید...

  4. #4
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    تهران
    پست
    558
    نقل قول نوشته شده توسط mahak_f
    سلام. در برنامه من که با VB 6 و بانک SQL نوشتم بعد از اضافه کردن مشخصات هر ماشین به بانک باید جدولی به نام خود ان ماشین در بانک ساخته شود. نام بانک همان کدی است که کاربر به عنوان کد ماشین در TextBox مربوط به ان وارد می کند. در زمان اجرا از اسم بانک که من انرا از TextBox.Text برمیدارم ایراد میگیرد با این عنوان که Incorrect Syntax near '768' (768 در اینجا مثلا کدی است که کاربر وارد کرده.) دستور SQL برنامه را به این صورت نوشته ام :
    sakhte_table = "create table "+ TextBox.Text + " (codem nvarchar(10),coderan nvarchar(20),codeoto nvarchar(20),time nvarchar(8))))"

    لطفا به من کمک کنید. خیلی وقت کم دارم....
    سلام
    اول اینکه این چرا انقدر پرانتز بسته داره، 2 تاش اضافیه (Incorrect Syntax near ) هم همین رو میگه
    دوم اینکه چون از تکست باکس میخونی دستور رو اینجوری بنویس :

    sakhte_table = "create table ["+ TextBox.Text + "] (codem nvarchar(10),coderan nvarchar(20),codeoto nvarchar(20),time nvarchar(8))"

    این باید کار کنه،

  5. #5
    کاربر دائمی آواتار Kamyar.Kimiyabeigi
    تاریخ عضویت
    خرداد 1384
    محل زندگی
    تهران
    پست
    1,276
    از این sp استفاده کن و فقط نام جدولتو بهش پاس بکن

    CREATE PROCEDURE ST_CRTTBL @TBLNAME NVARCHAR(100)
    AS

    EXECUTE ('CREATE TABLE [DBO].[' + @TBLNAME + '] (CODEM NVARCHAR(10),
    CODERAN NVARCHAR(20),
    CODEOTO NVARCHAR(20),
    [TIME] NVARCHAR(8))')

  6. #6
    کاربر دائمی
    تاریخ عضویت
    آبان 1384
    محل زندگی
    Shiraz
    پست
    195
    من واقعا از کمکتون متشکرم. مشکل من با همون [ باز و بسته دور اسم بانک حل شد. ممنونم....

  7. #7
    دوست عزیزم،
    من هنوز شک دارم کاری انجام میدین (ساخت جداول بصورت Dynamic) واقعا انتخاب درستی باشه. چون در اینصورت تمام Queryها و دستورات ویرایشی هم باید Dynamic ساخته بشن. ضمنا وقتی Queryها به این شکل باشه، امکان Reuse شدن Execution Planها رو از دست میدین و همیشه Queryهای شما باید Compile بشن.
    Dynamic ساختن جداول در صورتی مقبوله که مثلا شما امکان Develop کردن دیتابیس رو به کاربر بدین و در کل برنامه شما بشه یک واسط برای نوشتن Stored Procedureها و .... یعنی چیزی شبیه به Enterprise Manager

  8. #8
    کاربر دائمی
    تاریخ عضویت
    آبان 1384
    محل زندگی
    Shiraz
    پست
    195
    Develop کردن دیتابیس دقیقا امکانیه که قرار هستش توی این برنامه پیاده شه. همینجور که اشاره کردید تمام Query ها هم به صورت دینامیک هستن.
    از دقتتون متشکرم.

  9. #9
    کاربر دائمی آواتار emad4000
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    کرمان
    سن
    37
    پست
    257

    Question

    نقل قول نوشته شده توسط mahak_f
    من واقعا از کمکتون متشکرم. مشکل من با همون [ باز و بسته دور اسم بانک حل شد. ممنونم....
    من چندین بار از این دستور استفاده کردم بدون اینکه کروشه بزارم و تا به حال مشکلی نداشتم . کسی نمی دونه علت اینکه مشکل ایشون رفع شد چیه ؟
    و یه سوال دیگه ، آیا اسم جدول می تونه Space داشته باشه ؟ یعنی بین اسم Blank باشه ؟؟

  10. #10
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    تهران
    پست
    558
    نقل قول نوشته شده توسط emad4000
    من چندین بار از این دستور استفاده کردم بدون اینکه کروشه بزارم و تا به حال مشکلی نداشتم . کسی نمی دونه علت اینکه مشکل ایشون رفع شد چیه ؟
    و یه سوال دیگه ، آیا اسم جدول می تونه Space داشته باشه ؟ یعنی بین اسم Blank باشه ؟؟
    سلام
    [] یعنی اینکه نام Object جتی اگه شامل کارکترهای غیر مجاز هم بود، ایجاد بشه، این یه عمل متعارف توی اکثر DBMS ها هستش.
    اگه تو [] بذاری میتونی Space هم تو نام اشیا داشته باشی.

  11. #11
    علاوه بر این، در SQL Server شما میتونین از علامت "" هم برای این منظور استفاده کنید به شرط اینکه SET QUOTED_IDENTIFIER فعال(ON) باشه:

    SET QUOTED_IDENTIFIER ON
    GO
    USE Northwind
    GO
    SELECT * FROM "Order Details"

    در صورتی که OFF باشه، از علامت "" برای Stringها میتونین استفاده کنین:

    SET QUOTED_IDENTIFIER OFF
    GO
    DECLARE @Var1 VARCHAR(50)
    SET @Var1="Hello"

  12. #12
    کاربر دائمی آواتار emad4000
    تاریخ عضویت
    شهریور 1384
    محل زندگی
    کرمان
    سن
    37
    پست
    257
    دستور قبلی ما Create Table بود و بانک SQL اصلا نمی تونه جدولی داشته باشه که تو اسمش بلانک باشه . پس چه جوری این دستور به صورت صحیح اجرا و جدول ساخته می شه ؟؟؟؟

  13. #13
    با توجه به توضیحات چند پست قبلی، فکر میکنم نتیجه گیری به این شکل کاری سختی نباشه!

    CREATE TABLE [Some Table](
    C1 INT,
    C2 INT)

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

  1. Create table
    نوشته شده توسط vb_nima در بخش برنامه نویسی در 6 VB
    پاسخ: 1
    آخرین پست: چهارشنبه 12 اردیبهشت 1386, 03:22 صبح
  2. Create Table @MyName
    نوشته شده توسط STI در بخش SQL Server
    پاسخ: 3
    آخرین پست: شنبه 01 مرداد 1384, 10:16 صبح
  3. DBIsam & Create Table in RUNTime
    نوشته شده توسط FirstLine در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 1
    آخرین پست: دوشنبه 16 آذر 1383, 00:08 صبح
  4. اجرای CREATE TABLE در SQL دلفی
    نوشته شده توسط MOHSEN731 در بخش برنامه نویسی در Delphi
    پاسخ: 4
    آخرین پست: چهارشنبه 25 شهریور 1383, 17:52 عصر
  5. این پارامتر در دستور Create Table در MySQL چیست؟
    نوشته شده توسط anita در بخش PHP
    پاسخ: 2
    آخرین پست: سه شنبه 16 تیر 1383, 22:44 عصر

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

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