MSSQL2000, CAMPOS VARCHA E TEXT

ADELMOMELO 14/12/2010 12:47:26
#359515
Olá,

Uso o VB6 com o SQL SERVER 2000, criei uma tabela e um dos campos é um varcha(5000), quando utilizo o comando insert, é quardado a informação no BD sem problemas, entretanto, qdo utilizo um select e carrego os dados para um text box multline, está dando o erro apontado abaixo:

Vb Run time error 40002
s1109[Microsoft][ODBC SQL SERVER Driver]Posição do cursor inválida

Set QRS_B = M_ARQ.OpenResultset([Ô]SELECT * FROM Registros_padroes Where IdCodigo=[Ô] + Str(lstRegistros.ItemData(lstRegistros.ListIndex)) + [Ô][Ô], _
rdOpenForwardOnly, rdConcurReadOnly)
If Not QRS_B.EOF Then
txt_Nome = IIf(IsNull(QRS_B!Nome), 0, QRS_B!Nome)
Cbo_Classe.ListIndex = IIf(IsNull(QRS_B!CLASSE), 0, QRS_B!CLASSE)
TXT_Texto_Reg = IIf(IsNull(QRS_B!texto), [Ô] [Ô], QRS_B!texto) <---o ERRO OCORRE AQUI
If Trim(QRS_B!TIPO) = [Ô]R[Ô] Then
Opt_Registro.Value = True
ElseIf Trim(QRS_B!TIPO) = [Ô]AV[Ô] Then
Opt_Averbacao.Value = True
End If
End If

ALGUéM PODERIA AJUDAR-ME

Ade Melo

GREGO 14/12/2010 15:30:39
#359541
tenta reduzir o tamanho do campo.

ou coloca o tipo para text

ADELMOMELO 14/12/2010 22:00:41
#359569
Tentei usar o tipo text, mais continua dando o mesmo erro. Só funciona até varchar(1000) e eu preciso gravar neste campo textos maiores, como fazer para gravar e recuperar para um text box tais informações pelo VB6 e SQL 2000? alguém poderia ajudar?
ADELMOMELO 15/12/2010 12:35:15
#359598
O SQL SERVER 2000 informa que o tipo varchar vai até 8000 e na prática verifiquei que só funciona apenas com varchar(1000), alguém neste fórum, com experiência melhor do que eu é claro, saberia me ajudar? Ou se tem outra forma de guardar e recuperar textos maiores para um text box do VB6?
XXXANGELSXXX 15/12/2010 13:31:33
#359601
Resposta escolhida
Porque nao tenta mudar o formato do campo de varchar para LONG? ou LONG TEXT ?, nao trabalho com sql server, trabalho com MYSQL e la tem LONG TEXT que suporta mais de 1000 caracteres.
GREGO 15/12/2010 17:54:09
#359632
como vc da o insert?

é com procedure?

eu uso sqlserver com C#, nunka tive problemas com campos tipo text

posta o código que vc da o insert.. é alguma coisa no vb

manda ai que pode ficar mais fácil te ajudar
ADELMOMELO 16/12/2010 23:40:40
#359717
Olá,

Eu uso o insert como mostrado abaixo, se tem outra forma de inserir e recuperar dados de campos text e/ou varchar, por favor me indiquem!!

M_ARQ.Execute [Ô]INSERT INTO Registros_Padroes (IDCodigo,Tipo,Nome,Classe,Texto)VALUES ([Ô] + Str(m_seq) + [Ô],[ô][Ô] + M_LETRA + [Ô][ô],[ô][Ô] + txt_Nome + [Ô][ô],[Ô] + CStr(Cbo_Classe.ItemData(Cbo_Classe.ListIndex)) + [Ô],[ô][Ô] + TXT_Texto_Reg + [Ô][ô])[Ô]

obs> o campo txt_Texto_Reg é o que recebe os textos, e é gravado normalmente, entretanto, na hora de mostrar está dando o erro apontado anteriormente.

Obrigado
ADELMOMELO 18/12/2010 11:14:18
#359834
Como faço para gravar textos do word por exemplo no SQL Server 2000, os procedimentos que uso são os indicados acima e não estou conseguindo pelo motivos apontados também acima, algum colega deste fórum pode me ajudar? Será que ninguém teve esta necessidade de guardar informações textuais no SQL? Me ajudem por favor?
ADELMOMELO 19/12/2010 11:12:42
#359894
Nos informes do SQL Server 2000, diz que o Campo do Tipo Varchar vai até 8000, alguém sabe informar o porque só estou conseguindo gravar até 1000. Existe outra forma de gravar e recuperar tais dados pelo VB6 no MSSQL2000 ou como gravar e recuperar em campo do tipo Text? Alguém teve alguma experiência com estes campos? Colegas do Fórum me ajudem, será que ninguém teve esta necessidade de gravar textos longos no MSSQL2000, como por exemplos Contratos ou outros textos?
ADELMOMELO 20/12/2010 13:48:33
#359997
Oi,

a forma como eu estou inserindo os dados no MSSQL 2000, com campo do tipo varchar e/ou text é como mostrado abaixo:

M_ARQ.Execute [Ô]INSERT INTO Registros_Padroes (IDCodigo,Tipo,Nome,Classe,Texto)VALUES ([Ô] + Str(m_seq) + [Ô],[ô][Ô] + M_LETRA + [Ô][ô],[ô][Ô] + txt_Nome + [Ô][ô],[Ô] + CStr(Cbo_Classe.ItemData(Cbo_Classe.ListIndex)) + [Ô],[ô][Ô] + TXT_Texto_Reg + [Ô][ô])[Ô]

Obs: O campo Texto é gravado sem dar erro algum, só acontecendo quando vou mostrar o mesmo após consulta no banco, como expliquei acima. Por favor coloque o código que você usou para inserir os registros para que eu possa comparar. Outra infomação é que eu uso a conexão com o BD via ODBC não sei se tem alguma coisa haver. Será que é tão dificil assim para guardar uma simples informação de texto num BD? E nenhum filho de Deus já usou isto no MSSQL 2000 com o VB6?
CARLINHA 22/02/2011 12:20:55
#366225
Olá pessoal, estou com esse mesmo dilema =(....alguém sabe como posso resolver isso, os caracteres do campo aparecem direitinho no banco, no caso utilizo o SQL Server, ou seja, o INSERT é realizado com sucesso! O problema está mesmo no SELECT, não me devolve todo os caracteres do campo...alguém solucionou esse problema?
No aguardo.
Tópico encerrado , respostas não são mais permitidas