منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : insert .. select
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السادة لافاضل
لدي جدول 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()

RolleyesRolleyesRolleyes
شكرا علي ردودك

شكرا علي ردودك واجاباتك واهتمامك

الهدف ليس انشاء جدول جديد

كود :
يمكن استخدام هذا على سبيل المثال
وسوف ينشأ جدول جديد باسم 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
RolleyesRolleyesRolleyes
شكرا علي تعبك وجاري التجربة