• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 575
  • Last Modified:

SQL 7 Text type

What is the corresponding ADO DatatypeEnum for SQL 7.0 Text type.

Thanks
0
Jpresser
Asked:
Jpresser
  • 3
  • 2
  • 2
  • +2
1 Solution
 
ramaswamy_raviCommented:
Jpresser

adLongVarchar

Regards,
Ravi

0
 
freshmeatCommented:
i guess it is "adBSTR"?
^@^
only guess
0
 
freshmeatCommented:
"adLongVarchar" indicates a long string value (Parameter object only).

"adBSTR" indicates a null-terminated character string (Unicode)(DBTYPE_BSTR).

so, which one is right?
"adLongVarchar " or "adBSTR"?
:)

0
Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

 
amnhCommented:
advarchar with a size of 2147483647

as in the following
cmd.CreateParameter("@answer",adVarChar,adParamInput,2147483647,answer)
0
 
JpresserAuthor Commented:
Here is the code I am testing the text data type with:
Dim objCommand2, strConnect
   strConnect = "DSN=SALESSQL;initial catalog=Dole;UID=sa;PWD="
 
  Set objCommand2= Server.CreateObject("ADODB.Command")
  objCommand2.ActiveConnection = strConnect
  objCommand2.CommandText = "aaatest"
  objCommand2.CommandType = adCmdStoredProc
 
  Set objParameter = objCommand2.CreateParameter("@Col1",adChar,adParamInput,10,Request.Form("txtChar"))
  objCommand2.Parameters.Append objParameter
 
  Set objParameter = objCommand2.CreateParameter("@Col2",adLongVarChar,adParamInput,1100,Request.Form("txtText"))
  objCommand2.Parameters.Append objParameter
 
  objCommand2.Execute
 Response.Write Len(Request.Form("txtText"))
The length of the string I was trying to insert into the table turned out to be 1100 characters long.  The insert fails to go into the text field. of SQL Server 7.0 table.
0
 
amnhCommented:
Jpresser,
the size of a parameter is dependant on the underlying datatype not the data you are passing to it.  I have have successfully used the 'advarchar' datatype with size 2147483647 as stated above.
0
 
JpresserAuthor Commented:
amnh:
I tried your example, it did not work with the text type in sql server.  It works fine if I use a varchar as the data type.

When I try to insert 900 or more characters into the text type, nothing gets inserted into the field.

The example I left calls a simple stored procedure that just does an insert.  For some reason it fails to work when the character string get to the 900 or so characters. It works however, if the data type is varchar, and fails if it is text.
0
 
ramaswamy_raviCommented:
Jpresser

It works fine for me with adVarchar and much more than 900 characters for a TEXT column in SQL Server
0
 
HencahCommented:
Jpresser,

Have a text datatype for your text-field in the table.
But in your stored procedure, declare it as varchar(1100), like this

create procedure aaatest
 ...
 @Col2 varchar(1100)
 ...

BTW, I myself haven't try to have a parameter with text type but it's still intriguing to know what exactly the type for text parameter (not using varchar  parameter)
0
 
JpresserAuthor Commented:
The data in the text field could not be seen after it reached a certain length. It was, however, always there.

Thanks
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 3
  • 2
  • 2
  • +2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now