¿Proque se trunca mi NVarChar

07/10/2008 - 20:47 por jcpc91 | Informe spam
hola grupo
tengo la siguiente tabla

CREATE TABLE [dbo].[TblComentarios](
[id_comentarios] [int] IDENTITY(1,1) NOT NULL,
[fecha] [datetime] NOT NULL CONSTRAINT [DF_TblComentarios_fecha]
DEFAULT (getdate()),
[descripcion] [nvarchar](1000) NOT NULL,
[nombre] [nvarchar](50) NOT NULL,
[respuesta] [nvarchar](1000) NULL
) ON [PRIMARY]

y un procedimineto lamacenado que insertar los registros el la tabla
TblComentarios
ALTER PROCEDURE [dbo].[InsertarComentario]
@ID INT,
@EMIAL NVARCHAR(50),
@COMENTARIO NVARCHAR(1000),
@RESPUESTA NVARCHAR(1000)
AS
BEGIN
INSERT INTO [db_WebSite].[dbo].[TblComentarios]
([descripcion]
,[nombre])
VALUES
(@COMENTARIO
,@EMIAL)
SELECT id_comentarios FROM TblComentarios WHERE id_comentarios SCOPE_IDENTITY()
END


el problema que tengo y que no logro resolver es que cuando intento
insertar registros en la tabla a traves del procemiento lamacenado
estos se truncan a mas o menos 150 caracteres como máximo ya le e
estado dando vueltas al asunto para determinar donde está el error
pero no veo donde, ya revisé el código c# para ver si se estaban
perdiendo información pero no es por ahí y del lado de sql server pues
nó sé donde pueda estar el error

gracias por sus respuestas

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
07/10/2008 - 21:06 | Informe spam
Postea el codigo C#.


AMB


"" wrote:

hola grupo
tengo la siguiente tabla

CREATE TABLE [dbo].[TblComentarios](
[id_comentarios] [int] IDENTITY(1,1) NOT NULL,
[fecha] [datetime] NOT NULL CONSTRAINT [DF_TblComentarios_fecha]
DEFAULT (getdate()),
[descripcion] [nvarchar](1000) NOT NULL,
[nombre] [nvarchar](50) NOT NULL,
[respuesta] [nvarchar](1000) NULL
) ON [PRIMARY]

y un procedimineto lamacenado que insertar los registros el la tabla
TblComentarios
ALTER PROCEDURE [dbo].[InsertarComentario]
@ID INT,
@EMIAL NVARCHAR(50),
@COMENTARIO NVARCHAR(1000),
@RESPUESTA NVARCHAR(1000)
AS
BEGIN
INSERT INTO [db_WebSite].[dbo].[TblComentarios]
([descripcion]
,[nombre])
VALUES
(@COMENTARIO
,@EMIAL)
SELECT id_comentarios FROM TblComentarios WHERE id_comentarios > SCOPE_IDENTITY()
END


el problema que tengo y que no logro resolver es que cuando intento
insertar registros en la tabla a traves del procemiento lamacenado
estos se truncan a mas o menos 150 caracteres como máximo ya le e
estado dando vueltas al asunto para determinar donde está el error
pero no veo donde, ya revisé el código c# para ver si se estaban
perdiendo información pero no es por ahí y del lado de sql server pues
nó sé donde pueda estar el error

gracias por sus respuestas

Respuesta Responder a este mensaje
#2 jcpc91
07/10/2008 - 21:47 | Informe spam
gracias

Tepongo el código c# pero te digo ya lo estube checando en el degub y
en todo momento la variable tiene todos los caracteres que introduje
en el control web TextBox pero al parecer algo pasa en mi
procedimiento almacenado o algo en la configuración la verdad no sé
tengo horas con este procedimineot lamacenado y inserta bien los
registros

public bool save()
{
bool b = false;
//aqui inserto el registro utilizo Microsoft.ApplicationBlocks para
facilitar la inserccion de registros el método toArray() me devuelve
un array con los valores de //todas las propiedades
using ( System.Data.SqlClient.SqlDataReader r Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteReader(mje.web.conexion.Conexion.Conecion,
"InsertarComentario", this.toArray()) )
{
if ( r.HasRows )
{
r.Read();
this.id r.GetInt32(r.GetOrdinal("id_comentarios"));
b = true;
}
}
return b;
}

los datos que introduce el usuario probienen de un TextBox como este
en el que escribimos. como dato curioso los datos quedan ttruncados en
150 o menos caracteres siempre pueden ser 144 o 149 pero no pasan de
150 que raro no??
Respuesta Responder a este mensaje
#3 Ricardo Junquera
08/10/2008 - 09:05 | Informe spam
Hola

He probado el procedimiento y funciona perfectamente, creo que el problema
lo tienes en como lo llamas desde #C

¿Has intentado usar el profiler para ver que es lo que esta recibiendo el
procedimiento y quizas esto te ayude a ver el problema?

Un saludo

Ricardo Junquera
Consultor Business Intelligence

BG&S Online Consultores
Ganadora del Premio Microsoft Business Awards 2008.
Partner de Soluciones : Satisfacción de Cliente.



"" wrote:

gracias

Tepongo el código c# pero te digo ya lo estube checando en el degub y
en todo momento la variable tiene todos los caracteres que introduje
en el control web TextBox pero al parecer algo pasa en mi
procedimiento almacenado o algo en la configuración la verdad no sé
tengo horas con este procedimineot lamacenado y inserta bien los
registros

public bool save()
{
bool b = false;
//aqui inserto el registro utilizo Microsoft.ApplicationBlocks para
facilitar la inserccion de registros el método toArray() me devuelve
un array con los valores de //todas las propiedades
using ( System.Data.SqlClient.SqlDataReader r > Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteReader(mje.web.conexion.Conexion.Conecion,
"InsertarComentario", this.toArray()) )
{
if ( r.HasRows )
{
r.Read();
this.id > r.GetInt32(r.GetOrdinal("id_comentarios"));
b = true;
}
}
return b;
}

los datos que introduce el usuario probienen de un TextBox como este
en el que escribimos. como dato curioso los datos quedan ttruncados en
150 o menos caracteres siempre pueden ser 144 o 149 pero no pasan de
150 que raro no??

Respuesta Responder a este mensaje
#4 Leonardo Azpurua
09/10/2008 - 00:39 | Informe spam
escribió en el mensaje
news:

//aqui inserto el registro utilizo Microsoft.ApplicationBlocks para
facilitar la inserccion de registros el método toArray() me devuelve
un array con los valores de //todas las propiedades
-

Hola,

No recuerdo los detalles, ni donde, ni la solución, pero sí que hace algún
tiempo a alguien se le presentó un problema semejante y tenía que ver con el
uso de los ApplicationBlocks.

No sé absolutamente nada sobre ellos, pero si tienen algo de configurable,
revísalo, porque por ahí debe ir la cosa.


Salud!
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida