PDA

View Full Version : خطا درهنگام نمایش کوئری در یک دی بی گرید



tik_tak
چهارشنبه 01 آبان 1387, 20:13 عصر
من تو فرمم
یه
Adoquery
datasourc
adoconnection
dbgrid
دارم
دیبی گریدم وصله به کوئری , این کوئری رو اونت ان کلیک یه باتونه :


ADOQuery1.Active:=False;
DOQuery1.SQl.Clear; s:='CREATE VIEW B AS select cod from table1 where store='+QuotedStr(edit1.text)+'group by cod' ;
DOQuery1.SQL.text:=s;
ADOQuery1.Active:=true

ولی نتیجه این تو کوئری نشون داده نمیشه و این خطا میاد :
adoqouery1:commandtext does not return a result set.

فک کنم به خاطر دستو رview حالا کجاش اشتباست من نمیدونم

Amir_Safideh
چهارشنبه 01 آبان 1387, 20:26 عصر
ADOQuery1.Active:=False;
DOQuery1.SQl.Clear; s:='CREATE VIEW B AS select cod from table1 where store='+QuotedStr(edit1.text)+'group by cod' ;
DOQuery1.SQL.text:=s;
ADOQuery1.ExecSQL;
این کد رو امتحان کن .
ولی در نظر داشته باش که این کوئری در کل یکبار میتونه کامل اجرا بشه و ویو رو بسازه و در دفعات بعدی به دلیل موجود بودن ویو پیغام خطا میگیرید .
-----------
موفق باشید .

tik_tak
چهارشنبه 01 آبان 1387, 21:06 عصر
سلام دوست من
درسته با این کدی که گفتید اون خطا نمیاد

ویه سوال دیگه :
آره باید یک بار اجرا بشه خب من این کد رو تو کدو م قسمت برنامه م بزارم تا فقط یک بار اجرا بشه؟
آخه هر بار تواون ادیت یه چیزی قرار میگیره !

Amir_Safideh
چهارشنبه 01 آبان 1387, 21:44 عصر
خوب اگر فقط خروجی براتون مهمه و هر بار با یک مقدار متفاوت خروجی رو لازم دارید در اونصورت شما بهتره که به جای ساختن ویو از یک دستور Select ساده استفاده کنید نه اینکه ویو بسازید و بعد از اون از خروجی ویو استفاده کنید . به همین سادگی .
اگر هم اصرار دارید که از ویو استفاده کنید خوب فقط کافیه که ویو رو در دفعات بعد اول Drop View کنید یعنی حذفش کنید بعد دوباره با مقدار جدید ایجادش کنید .
----------------
موفق باشید .