الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ادخال سجل جديد بقاعدة البيانات بواسطة ASP.NET

مغلق
بدأه العقده في 3 مارس 2006 · 12 رد · 1,513 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اين الخطا في هذا الكود ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

<WebMethod()> Public Function Add_New_Rec(ByVal sdata As String)
        Dim Conn As New OleDbConnection
        Dim cAddNew As OleDbCommand = New OleDbCommand

        Conn.ConnectionString = "Provider=Microsoft.jet.OLEDB.4.0;Data Source=C:\REPORTS.mdb"
        cAddNew.Connection = Conn

        cAddNew.CommandText = "insert into W_Report(A2) values('" & Trim(sdata) & "')"

        cAddNew.CommandType = CommandType.Text
        cAddNew.Parameters.Add(New OleDbParameter)
        cAddNew.Parameters.Item(2).Value = sdata
        cAddNew.ExecuteNonQuery()

        cAddNew = Nothing
        Conn.Close()
        Conn = Nothing

    End Function

تم تعديل هذه المشاركة بواسطة العقده في 3 مارس 2006 في 16:30

ليس كل ما يتمناه المرء يدركه

arabteam2000.gif

#2
QUOTE(العقده

@ Mar 3 2006, 04:27 PM)

<WebMethod()> Public Function Add_New_Rec(ByVal sdata As String)
        Dim Conn As New OleDbConnection
        Dim cAddNew As OleDbCommand = New OleDbCommand

        Conn.ConnectionString = "Provider=Microsoft.jet.OLEDB.4.0;Data Source=C:\REPORTS.mdb"
        cAddNew.Connection = Conn

        cAddNew.CommandText = "insert into W_Report(A2) values(@sdata) "

        cAddNew.CommandType = CommandType.Text
        cAddNew.Parameters.Add("@sdata",sdata)
        cAddNew.ExecuteNonQuery()

        cAddNew = Nothing
        Conn.Close()
        Conn = Nothing

    End Function

جرب هذا

#3

شكر اخي ابو انس على مرورك بموضوعي وبصراحه جربت الله يعطيك العافيه الكود الذي وضعت وظهر عندي الخطأ التالي:-

System.InvalidOperationException: ExecuteNonQuery requires an open and available Connection. The connection's current state is Closed.
   at System.Data.OleDb.OleDbConnection.SetStateExecuting(OleDbCommand attempt, String method, Boolean flag)
   at System.Data.OleDb.OleDbCommand.ValidateConnectionAndTransaction(String method, Int32& localState)
   at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
   at System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
   at sss.DataService.Add_New_Rec(String sdata) in c:\inetpub\wwwroot\sss\Service1.asmx.vb:line 83

ليس كل ما يتمناه المرء يدركه

arabteam2000.gif

#4

اقرأ الخطأ لترى أنك لم تفتح الإتصال قبل الإجراء؟!

ضع السطر التالي قبل cAddNew.ExecuteNonQuery()

Conn.open

بالتوفيق

logo.gif
استضافة ويندوز


اقتباس

مساحة تبدأ من 2000 ميجا بايت بسعر 1.99 دولار شهريا.ا

اقتباس

ASP.NET 1.1-2.0-3.0-3.5-4.0-4.5.1 / MVC ASP.NET / PHP 5.x / ColdFusion / MSSQL 2008 & 2012 / MYSQL

#5

اخي smiling4ever وضعت التالي :

<WebMethod()> Public Function Add_New_Rec(ByVal sdata As String)
        Dim Conn As New OleDbConnection
        Dim cAddNew As OleDbCommand = New OleDbCommand

        Conn.ConnectionString = "Provider=Microsoft.jet.OLEDB.4.0;Data Source=C:\REPORTS.mdb"
        cAddNew.Connection = Conn

        cAddNew.CommandText = "insert into W_Report(A2) values(@sdata) "

        cAddNew.CommandType = CommandType.Text
        cAddNew.Parameters.Add("@sdata", sdata)

        Conn.Open()
        cAddNew.ExecuteNonQuery()

        cAddNew = Nothing
        Conn.Close()
        Conn = Nothing

    End Function

وظهر عندي الخطأ التالي :

System.Data.OleDb.OleDbException: Operation must use an updateable query.
   at System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(Int32 hr)
   at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
   at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
   at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
   at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
   at System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
   at sss.DataService.Add_New_Rec(String sdata) in c:\inetpub\wwwroot\sss\Service1.asmx.vb:line 84

ليس كل ما يتمناه المرء يدركه

arabteam2000.gif

#6

^

ليس كل ما يتمناه المرء يدركه

arabteam2000.gif

#7

الوووووووووووو .. هل من مجيب .... معقول مبرمجين ASP.NET ولا يوجد حل لارسال بيانات الى ملف قاعدة البيانات بواسطة صفحات ASP.NET

ليس كل ما يتمناه المرء يدركه

arabteam2000.gif

#9

الله يعطيك العافيه ابو انس والله ملف قاعدة البيانات فعلا بالاكسس وموجود الملف على خارج الـ wwwroot على الـ C مباشرتاً مضبوط عليها صلاحيات القراءة والكتابة حتى المستخدم العادي له صلاحيات القراءة والكتابة

وانا صراحة لجأت لاكسس مؤقتا من باب التجربة فقط اما استخدامي الاساسي هو Oracle9i ولكن للاسف يحصل انني احصل على رسالة خطا تفيد بعدم القدرة على تحميل ملف DLL وسبق انني وضعت المشلكه بالمنتدى في قسم ASP.NET و Oracle ولم احصل على حل لها ...... ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ................

ليس كل ما يتمناه المرء يدركه

arabteam2000.gif

#10

dim cn As OleDbConnection

cn = New OleDbConnection("Provider=Microsoft.jet.OLEDB.4.0;Data Source=C:\REPORTS.mdb")

Dim sql As String = "INSERT INTO mail_folder

(folder_name,folder_type) values('" & txtfoldername.Text & "',0 )"

Dim cm As New OleDbCommand(sql, cn)

cn.Open()

cm.ExecuteNonQuery()

cn.Close()

جرب هذه الطريقة و ان شاء الله باتضبط معاك، طبعا أسماء الحقول على حسب ما هو موجود معاك و ايضا القيم على حسب ما تريد انته

تم تعديل هذه المشاركة بواسطة أمين علي في 9 مارس 2006 في 19:56

#11

صراحة أخوي انا انتقلت الى استخدم

SQl Server

بسبب هذه المشكلة ولاحظ انى قلت لك جرب لأني لست متأكد

محاولة أخرى

غير نوع قاعدة البيانات الى أصدار قديم 2000 او 97 وجرب مرة أخرى

على العموم أنا لما حطيت قاعدة البيانات على الموقع وحطيت للمجلد صلاحية القراءة والكتابة مشى الحال

#12
العقده كتب:
اخي smiling4ever وضعت التالي :

<WebMethod()> Public Function Add_New_Rec(ByVal sdata As String)
        Dim Conn As New OleDbConnection
        Dim cAddNew As OleDbCommand = New OleDbCommand

        Conn.ConnectionString = "Provider=Microsoft.jet.OLEDB.4.0;Data Source=C:\REPORTS.mdb"
        cAddNew.Connection = Conn

        cAddNew.CommandText = "insert into W_Report(A2) values(@sdata) "

        cAddNew.CommandType = CommandType.Text
        cAddNew.Parameters.Add("@sdata", sdata)

        Conn.Open()
        cAddNew.ExecuteNonQuery()

        cAddNew = Nothing
        Conn.Close()
        Conn = Nothing

    End Function

وظهر عندي الخطأ التالي :

System.Data.OleDb.OleDbException: Operation must use an updateable query.
   at System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(Int32 hr)
   at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
   at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
   at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
   at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
   at System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
   at sss.DataService.Add_New_Rec(String sdata) in c:\inetpub\wwwroot\sss\Service1.asmx.vb:line 84

هذا الخطأ شائع وحله بسيط.

أعط المجلد الذي يحتوي على قاعدة البيانات في جهازك سماحية الكتابة والمستخدم ASPNET

logo.gif
استضافة ويندوز


اقتباس

مساحة تبدأ من 2000 ميجا بايت بسعر 1.99 دولار شهريا.ا

اقتباس

ASP.NET 1.1-2.0-3.0-3.5-4.0-4.5.1 / MVC ASP.NET / PHP 5.x / ColdFusion / MSSQL 2008 & 2012 / MYSQL

#13

ما هو الخطأ الذي يظهر في الكود الخاص فيك

تم تعديل هذه المشاركة بواسطة م/ التميمي في 11 يناير 2007 في 21:12

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…