PDA

View Full Version : گفتگو: ایا select از temp table ها فرق می کنه



mina.net
دوشنبه 04 خرداد 1388, 15:57 عصر
سلام دوستان
من از طریق دستور زیر یک temp table می سازم و سپس می خوام از اون selct کنم نمی دونم چرا ارور می ده . جدول ساخته می شه ولی موقع select ارور می ده .
کدی که باهاش temp می سازم این هست .




Dim str_select As String = "select 'Row'= Identity(int,1,1),CustomerID Into #TEMP from customers as e order by tarikh,mainid "


With sqlCom


.Parameters.Clear()


.CommandText = str_select


.ExecuteNonQuery()


End With





و برای select این دستور رو بکار بردم




str_select = "select * form #temp"

da = New SqlClient.SqlDataAdapter(str_select, con)


ds = New DataSet


da.Fill(ds, "#temp")


dv = New DataView(ds.Tables("#temp"))


DataGridView1.DataBindings.Clear()


DataGridView1.DataSource = ds.Tables("#temp")





ولی وقتی به کد زیر می رسه



da.Fill(ds, "#temp")

syntax error می ده.
وقتی تو دیتابیسم نگاه می کنم جدول temp رو می بینم و حتی از اونجا می تونم اون رو توسط کورئی توی خود SQL عمل select رو انجام بدم ولی تو VB نمی شه.

دوستان اگه می شه توضیح بدید چطور می شه temp رو از بین برد. یعنی دستور delete کردنشو بگید ممنون می شم.

حامد مصافی
دوشنبه 04 خرداد 1388, 17:09 عصر
نام جدول در متد Fill ربطی به نام جدول در دیتابیس ندارد، می توانید # را کنار بگذارید.
برای حذف این جدول عبارت زیر را اجرا کنید.

drop table #temp

mina.net
دوشنبه 04 خرداد 1388, 21:01 عصر
نام جدول در متد Fill ربطی به نام جدول در دیتابیس ندارد، می توانید # را کنار بگذارید.
برای حذف این جدول عبارت زیر را اجرا کنید.

drop table #temp
سلام دوست عزیز
ممنون از کمکی که کردی
حالا اگه خواستیم یک شرط بزاریم که اگه این temp وجود داره ابتدا حذف بشه و سپس ادامه کار باید چیکار کرد.
من از کد زیر استفاده کردم جواب نداد فکر می کنم به جای table در INFORMATION_SCHEMA.Table باید چیز دیگه ای بزارم ولی نمی دونم چی.




IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.Table
WHERE TABLE_NAME = temp )
DROP TABLE #temp

حامد مصافی
دوشنبه 04 خرداد 1388, 21:08 عصر
IF EXISTS (
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TableS
WHERE TABLE_NAME = '#temp' )
DROP TABLE temp