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

مشكلة عند إدخال نص طويل إلى الdatabase

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

-9

أخوانى الكرام

عندى web form أدخل من خلالها نص طويل أو بمعنى أصح مقالة طويلة

الجول عبارة عن 2 column الأول id int والثانى detail nchar 4000

الخطأ الذى يظهر لى من الإدخال من خلال الweb application

QUOTE

Procedure or function Sp_AddDetails has too many arguments specified.

هذ الخطأ يظهر أيضا عندما أجعل الdatatype للdetail column ntext

الSp_AddDetails

CREATE PROCEDURE Sp_AddDetails
@id int,@detail nchar(4000)
AS
insert into tbDetails
values (@id,@detail)
GO

على الرغم من أننى عندما أدخل المقال من خلال الquery analizer يدخل بالكامل

ولا أعرف ما هو السبب

فهل يوجد حل لهذة المشكلة

-waf

NewsPaper.rar

Database.rar

يا حى يا قيوم برحمتك أستغيث اصلح لى شأنى كله ولا تكلنى إلى نفسى طرفة عين

اللهم أعنا على ذكرك وشكرك وحسن عبادتك

اللهم انك عفو كريم حليم تحب العفو فاعفو عنا

اللهم إنى أسألك رضاك والجنة وأعوذ بك من سخطك والنار

اللهم إرحمنا فوق الأرض وإرحمنا تحت الأرض وإرحمنا وإعتق رقابنا يوم العرض

اللهم لا تدع لنا ذنبًا إلا غفرته ولا همًا إلا فرجته ولا مريضًا ولا دينًا إلا قضيته ولا عيبا إلا سترته ولا حاجًا هى لك رضا إلا قضيتها

اللهم انى أسألك موجبات رحمتك وعزائم مغفرتك والسلامة من كل إثم والغنيمة من كل بر والفوز بالجنة و النجاة من النار اللهم أمين يا رب العالمين

#2

هذا الخطأ ليس له علاقة بحجم ال field ،

أكتب لنا ال function الذي تستدعيه لتنفيذ stored procedure أعلاه.

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

#3

هذه الsub لإضافة parameter

 Public Sub AddParm(ByVal name As String, ByVal type As SqlDbType, ByVal size As Integer, ByVal value As Object)
        Dim parm As New SqlParameter("@" & name, type)
        parm.Value = value
        parm.Size = size
        mCmd.Parameters.Add(parm)
    End Sub

وهذة الsub لexecute non query

    Public Sub ExecNonQuery(ByVal cmdText As String)
        If mConn.State = ConnectionState.Closed Then
            mConn.Open()
        End If
        mCmd.CommandText = cmdText
        mCmd.ExecuteNonQuery()
    End Sub

وهذة الsub لإستدعاء الstored procedure

 Public Sub AddDetails(ByVal id As Integer, ByVal content As String)
        Me.db.AddParm("id", SqlDbType.Int, 4, id)
        Me.db.AddParm("detail", SqlDbType.NChar, 4000, content)
        Me.db.ExecNonQuery("Sp_AddDetails")
        Me.db.CloseConnection()
    End Sub

أتمنى من الله أن أجد حل لهذة المشكلة وشكرا على إهتمامك أخى smiling4ever

أختك أنجى

يا حى يا قيوم برحمتك أستغيث اصلح لى شأنى كله ولا تكلنى إلى نفسى طرفة عين

اللهم أعنا على ذكرك وشكرك وحسن عبادتك

اللهم انك عفو كريم حليم تحب العفو فاعفو عنا

اللهم إنى أسألك رضاك والجنة وأعوذ بك من سخطك والنار

اللهم إرحمنا فوق الأرض وإرحمنا تحت الأرض وإرحمنا وإعتق رقابنا يوم العرض

اللهم لا تدع لنا ذنبًا إلا غفرته ولا همًا إلا فرجته ولا مريضًا ولا دينًا إلا قضيته ولا عيبا إلا سترته ولا حاجًا هى لك رضا إلا قضيتها

اللهم انى أسألك موجبات رحمتك وعزائم مغفرتك والسلامة من كل إثم والغنيمة من كل بر والفوز بالجنة و النجاة من النار اللهم أمين يا رب العالمين

#4

الخطأ هو مايلي ...

Me.AddArticles(CInt(Label6.Text), TextBox1.Text.Trim, TextBox2.Text.Trim)
Me.AddDetails(CInt(Label6.Text), TextBox3.Text.Trim)

في السطر الأول من الكود السابق يتم إضافة 3 قيم إلى قائمة الوسطاء وبعدها يتم وسيطين أي الإجرائية Sp_AddDetails ستستقبل 5 وسطاء وهذا هو الخطأ لذلك يجب تغيير السطرين السابقين إلى:

Me.AddArticles(CInt(Label6.Text), TextBox1.Text.Trim, TextBox2.Text.Trim)
Me.db.ClearParm()
Me.AddDetails(CInt(Label6.Text), TextBox3.Text.Trim)
#5

-9

ألف ألف شكر أستاذى الفاضل على هذا التوضيح

-waf

يا حى يا قيوم برحمتك أستغيث اصلح لى شأنى كله ولا تكلنى إلى نفسى طرفة عين

اللهم أعنا على ذكرك وشكرك وحسن عبادتك

اللهم انك عفو كريم حليم تحب العفو فاعفو عنا

اللهم إنى أسألك رضاك والجنة وأعوذ بك من سخطك والنار

اللهم إرحمنا فوق الأرض وإرحمنا تحت الأرض وإرحمنا وإعتق رقابنا يوم العرض

اللهم لا تدع لنا ذنبًا إلا غفرته ولا همًا إلا فرجته ولا مريضًا ولا دينًا إلا قضيته ولا عيبا إلا سترته ولا حاجًا هى لك رضا إلا قضيتها

اللهم انى أسألك موجبات رحمتك وعزائم مغفرتك والسلامة من كل إثم والغنيمة من كل بر والفوز بالجنة و النجاة من النار اللهم أمين يا رب العالمين

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

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