السادة لافاضل
لدي جدول 1 table1 واريد ان انسخ بعض الاسماء الي جدول table2 وبه نفس الحقول
كتبت الامر التالي
insert into table2 (select * from table1 where id=2 )
لم يتم التنفيذ واعطي رسالة خطأ في جملة الانسرت
برجاء التصويب
او من يدلني علي الكود المناسب
شكرا
السلام عليكم
ضع نص الخطأ ليتسنى معرفة السب
تحياتي
كود :
يمكن استخدام هذا على سبيل المثال
وسوف ينشأ جدول جديد باسم table2
select id,myname,age into table2 from table1 where id=2
This code will do the job
كود :
Dim A, B, C, D
Dim CMD As New SqlCommand
Dim con1 As New SqlConnection(ConnectionString)
If con1.State = ConnectionState.Open Then con1.Close()
Dim DBC As New SqlCommand
Dim DBDR As SqlDataReader
With DBC
.Connection = con1
.CommandText = "SELECT " & _
"table1.ID, " & _
"table1.field1, " & _
"table1.field2, " & _
"table1.field3 " & _
"FROM table1 " & _
"WHERE (table1.ID =2) "
End With
con1.Open()
DBDR = DBC.ExecuteReader
DBDR.Read()
If DBDR.HasRows Then
A = (DBDR.Item("ID"))
B = (DBDR.Item("field1"))
C = (DBDR.Item("field2"))
D = (DBDR.Item("field3"))
con1.Close()
End If
Dim INS As String = "INSERT INTO [table2] " & _
"([ID] " & _
",[field1] " & _
",[field2] " & _
",[field3] ) " & _
"VALUES (" & _
"" & A & "" & _
",'" & B & "' " & _
",'" & C & "' " & _
",'" & D & "' ") "
Dim con2 As New SqlConnection(ConnectionString)
If con2.State = ConnectionState.Open Then con2.Close()
CMD= New SqlCommand(INS, con2)
GETID()
con2.Open()
CMD.ExecuteNonQuery()
con2.Close()



شكرا علي ردودك
شكرا علي ردودك واجاباتك واهتمامك
الهدف ليس انشاء جدول جديد
كود :
يمكن استخدام هذا على سبيل المثال
وسوف ينشأ جدول جديد باسم table2
select id,myname,age into table2 from table1 where id=2
ولا قراءة البيانات ثم ادخالها
كما في الرد السابق مباشرة
كان هدفي هو كود صغير ينسخ سجل من جدول الي جدول
علي جميع الاحوال نشكركم
واتمني تعديل كودي المرفق في الموضوع الاساسي
(21-12-13, 02:52 PM)atefkhalf2004 كتب : [ -> ]ولا قراءة البيانات ثم ادخالها
كما في الرد السابق مباشرة
كان هدفي هو كود صغير ينسخ سجل من جدول الي جدول
Use this query
كود :
INSERT INTO table1 (field1, field2) SELECT field1, field2 FROM table2 WHERE field1= 2
Regards



شكرا علي تعبك وجاري التجربة