MSSQL2000, CAMPOS VARCHA E TEXT
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
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
tenta reduzir o tamanho do campo.
ou coloca o tipo para text
ou coloca o tipo para text
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?
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?
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.
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
é 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
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
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
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?
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?
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?
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?
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.
No aguardo.
Tópico encerrado , respostas não são mais permitidas