长字符串到sql db
我有一个长字符串要通过
存储过程写入sql db表中的字段。出于某种原因,我发现只写了258个字符。任何想法?
我的VB2005代码的相关位:
mySqlConnection.ConnectionString =" ..........
mySqlCommand.Connection = mySqlConnection
mySqlCommand.CommandType = CommandType.StoredProcedure
myRspSqlCommand.Connection = mySqlConnection
myRspSqlCommand.CommandType = CommandType.StoredProcedure
myRspSqlCommand.CommandText =" write_resp"
myRspSqlCommand.Parameters.Clear()
myRspSqlCommand .Parameters.Add(New
SqlClient.SqlParameter(" @ mCODE",Data.SqlDbType.Char,3))
myRspSqlCommand.Parameters.Add(New
SqlClient.SqlParameter(" @mDATA",Data.SqlDbType.Char,1000))
myRspSqlCommand.Parameters.Add(新的
SqlClient。 SqlParameter(" @ mUID",Data.SqlDbType.Char,6))
..
..
。 。
myRspSqlCommand.Parameters(" @ mCODE")。Value = RTcode
myRspSqlCommand.Parameters(" @mDATA")。Value = RTrespstr
myRspSqlCommand.Parameters(" @ mUID")。Value = RTuid
myRspSqlCommand.ExecuteNonQuery()
存储过程(我没写过)
- 参数CODE,DATA,UID
CREATE PROCEDURE [dbo]。[write_resp] @mCODE char(3),@ mDATA
char(1000),@ mUID char(6)AS
设置nocount
插入vresp(代码,数据,uid)值(@ mCODE,@ mDATA,@ mUID)
GO
数据库结构是表结构显示数据类型为char
和1000长度。
I''ve got a long string to be written to a field in a sql db table via
stored procedure. For some reason I find only 258 chars are being
written. Any ideas?
relevant bits of my VB2005 code:
mySqlConnection.ConnectionString = "..........
mySqlCommand.Connection = mySqlConnection
mySqlCommand.CommandType = CommandType.StoredProcedure
myRspSqlCommand.Connection = mySqlConnection
myRspSqlCommand.CommandType = CommandType.StoredProcedure
myRspSqlCommand.CommandText = "write_resp"
myRspSqlCommand.Parameters.Clear()
myRspSqlCommand.Parameters.Add(New
SqlClient.SqlParameter("@mCODE", Data.SqlDbType.Char, 3))
myRspSqlCommand.Parameters.Add(New
SqlClient.SqlParameter("@mDATA", Data.SqlDbType.Char, 1000))
myRspSqlCommand.Parameters.Add(New
SqlClient.SqlParameter("@mUID", Data.SqlDbType.Char, 6))
..
..
..
myRspSqlCommand.Parameters("@mCODE").Value = RTcode
myRspSqlCommand.Parameters("@mDATA").Value = RTrespstr
myRspSqlCommand.Parameters("@mUID").Value = RTuid
myRspSqlCommand.ExecuteNonQuery()
The stored procedure (which I didn''t write)
-- Parameters CODE,DATA,UID
CREATE PROCEDURE [dbo].[write_resp] @mCODE char(3),@mDATA
char(1000),@mUID char(6) AS
set nocount on
insert into vresp (code,data,uid) values(@mCODE,@mDATA,@mUID )
GO
the database structure is table structure shows data as being type char
and 1000 in length.
11月9日上午9:44,cj< c ... @nospam.nospamwrote:
On Nov 9, 9:44 am, cj <c...@nospam.nospamwrote:
我有一个很长的字符串是通过
存储过程写入sql db表中的字段。出于某种原因,我发现只写了258个字符。任何想法?
我的VB2005代码的相关位:
mySqlConnection.ConnectionString =" ..........
mySqlCommand.Connection = mySqlConnection
mySqlCommand.CommandType = CommandType.StoredProcedure
myRspSqlCommand.Connection = mySqlConnection
myRspSqlCommand.CommandType = CommandType.StoredProcedure
myRspSqlCommand.CommandText =" write_resp"
myRspSqlCommand.Parameters.Clear()
myRspSqlCommand .Parameters.Add(New
SqlClient.SqlParameter(" @ mCODE",Data.SqlDbType.Char,3))
myRspSqlCommand.Parameters.Add(New
SqlClient.SqlParameter(" @mDATA",Data.SqlDbType.Char,1000))
myRspSqlCommand.Parameters.Add(新的
SqlClient。 SqlParameter(" @ mUID",Data.SqlDbType.Char,6))
。
。
。
myRspSqlCommand.Parameters(" @ mCODE")。Value = RTcode
myRspSqlCommand.Parameters(" @mDATA")。Value = RTrespstr
myRspSqlCommand.Parameters(" @mUID")。Value = RTuid
myRspSqlCommand.ExecuteNonQuery()
存储过程(我没写过)
- 参数代码,数据,UID
CREATE PROCEDURE [dbo]。[write_resp] @mCODE char(3 ),@ mDATA
char(1000),@ mUID char(6)AS
设置nocount
插入vresp(代码,数据) ,uid)值(@ mCODE,@ mDATA,@ mUID)
GO
数据库结构是表结构显示数据类型char
和1000的长度。
I''ve got a long string to be written to a field in a sql db table via
stored procedure. For some reason I find only 258 chars are being
written. Any ideas?
relevant bits of my VB2005 code:
mySqlConnection.ConnectionString = "..........
mySqlCommand.Connection = mySqlConnection
mySqlCommand.CommandType = CommandType.StoredProcedure
myRspSqlCommand.Connection = mySqlConnection
myRspSqlCommand.CommandType = CommandType.StoredProcedure
myRspSqlCommand.CommandText = "write_resp"
myRspSqlCommand.Parameters.Clear()
myRspSqlCommand.Parameters.Add(New
SqlClient.SqlParameter("@mCODE", Data.SqlDbType.Char, 3))
myRspSqlCommand.Parameters.Add(New
SqlClient.SqlParameter("@mDATA", Data.SqlDbType.Char, 1000))
myRspSqlCommand.Parameters.Add(New
SqlClient.SqlParameter("@mUID", Data.SqlDbType.Char, 6))
.
.
.
myRspSqlCommand.Parameters("@mCODE").Value = RTcode
myRspSqlCommand.Parameters("@mDATA").Value = RTrespstr
myRspSqlCommand.Parameters("@mUID").Value = RTuid
myRspSqlCommand.ExecuteNonQuery()
The stored procedure (which I didn''t write)
-- Parameters CODE,DATA,UID
CREATE PROCEDURE [dbo].[write_resp] @mCODE char(3),@mDATA
char(1000),@mUID char(6) AS
set nocount on
insert into vresp (code,data,uid) values(@mCODE,@mDATA,@mUID )
GO
the database structure is table structure shows data as being type char
and 1000 in length.
您是否检查过分配给mData字段的字符串?它是b / b
真的比258个字符大吗?它不包含非ansi chars?
-
Tom Shelton
Have you checked the string your assigning to mData field? Is it
really greater then 258 chars? It doesn''t contain non ansi chars?
--
Tom Shelton
" cj" < cj@nospam.nospamwrote in message
news:on ************** @ TK2MSFTNGP03.phx.gbl ...
"cj" <cj@nospam.nospamwrote in message
news:On**************@TK2MSFTNGP03.phx.gbl...
我有一个长字符串要通过
存储过程写入sql db表中的字段。出于某种原因,我发现只写了258个字符。任何想法?
我的VB2005代码的相关位:
mySqlConnection.ConnectionString =" ..........
mySqlCommand.Connection = mySqlConnection
mySqlCommand.CommandType = CommandType.StoredProcedure
myRspSqlCommand.Connection = mySqlConnection
myRspSqlCommand.CommandType = CommandType.StoredProcedure
myRspSqlCommand.CommandText =" write_resp"
myRspSqlCommand.Parameters.Clear()
myRspSqlCommand .Parameters.Add(New
SqlClient.SqlParameter(" @ mCODE",Data.SqlDbType.Char,3))
myRspSqlCommand.Parameters.Add(New
SqlClient.SqlParameter(" @mDATA",Data.SqlDbType.Char,1000))
myRspSqlCommand.Parameters.Add(New SqlClient.SqlParameter(" @ mUID",
Data.SqlDbType.Char,6))
。
。
。
myRspSqlCommand.Parameters(" @ mCODE")。Value = RTcode
myRspSqlCommand.Parameters(" @mDATA")。Value = RTrespstr
myRspSqlCommand.Parameters(" @mUID")。Value = RTuid
myRspSqlCommand.ExecuteNonQuery()
存储过程(我没写过) )
- 参数代码,数据,UID
CREATE PROCEDURE [dbo]。[write_resp] @mCODE char(3),@ mDATA char(1000 ),@ mUID
char(6)AS
设置nocount
插入vresp(代码,数据,uid)值(@mCODE ,@ mDATA,@ mUID)
GO
数据库结构是表结构显示数据类型为char
和1000的长度。
I''ve got a long string to be written to a field in a sql db table via
stored procedure. For some reason I find only 258 chars are being
written. Any ideas?
relevant bits of my VB2005 code:
mySqlConnection.ConnectionString = "..........
mySqlCommand.Connection = mySqlConnection
mySqlCommand.CommandType = CommandType.StoredProcedure
myRspSqlCommand.Connection = mySqlConnection
myRspSqlCommand.CommandType = CommandType.StoredProcedure
myRspSqlCommand.CommandText = "write_resp"
myRspSqlCommand.Parameters.Clear()
myRspSqlCommand.Parameters.Add(New
SqlClient.SqlParameter("@mCODE", Data.SqlDbType.Char, 3))
myRspSqlCommand.Parameters.Add(New
SqlClient.SqlParameter("@mDATA", Data.SqlDbType.Char, 1000))
myRspSqlCommand.Parameters.Add(New SqlClient.SqlParameter("@mUID",
Data.SqlDbType.Char, 6))
.
.
.
myRspSqlCommand.Parameters("@mCODE").Value = RTcode
myRspSqlCommand.Parameters("@mDATA").Value = RTrespstr
myRspSqlCommand.Parameters("@mUID").Value = RTuid
myRspSqlCommand.ExecuteNonQuery()
The stored procedure (which I didn''t write)
-- Parameters CODE,DATA,UID
CREATE PROCEDURE [dbo].[write_resp] @mCODE char(3),@mDATA char(1000),@mUID
char(6) AS
set nocount on
insert into vresp (code,data,uid) values(@mCODE,@mDATA,@mUID )
GO
the database structure is table structure shows data as being type char
and 1000 in length.
不确定,但char可能有一个字符数上限
将在一个字段中保存....
您可能只想使用varchar或nvarchar并将其设置为1000.那个
将意味着1000个字符将适合该字段,但实际大小
会根据实际投入该字段的字符数而有所不同。
HTH,
Mythran
Not sure, but char may have an upper limit on the number of characters it
will hold in a single field....
You may just want to use varchar or nvarchar and set that to 1000. That
will mean 1000 characters will fit into the field, but the actual size will
vary depending on the number of characters actually input into the field.
HTH,
Mythran
Tom Shelton写道:
Tom Shelton wrote:
11月9日上午9:44 ,cj< c ... @nospam.nospamwrote:
On Nov 9, 9:44 am, cj <c...@nospam.nospamwrote:
>我有一个长字符串要写入sql db表中的字段通过存储过程。出于某种原因,我发现只写了258个字符。任何想法?
我的VB2005代码的相关部分:
mySqlConnection.ConnectionString =" ..........
mySqlCommand.Connection = mySqlConnection
mySqlCommand.CommandType = CommandType.StoredProceduremyRspSqlCommand.CommandType = CommandType.StoredProcedure
myRspSqlCommand.CommandText =" write_resp"
myRspSqlCommand.Parameters.Clear()
myRspSqlCommand.Parameters.Add(新的
myRspSqlCommand.Parameters .Add(New
SqlClient.SqlParameter(" @mDATA",Data.SqlDbType.Char,1000))
myRspSqlCommand.Parameters.Add(新的
。
。
myRspSqlCommand.Parameters(" @ mCODE")。 = RTcode
myRspSqlCommand.Parame ters(" @mDATA")。值= RTrespstr
myRspSqlCommand.Parameters(" @mUID")。Value = RTuid
myRspSqlCommand.ExecuteNonQuery()
存储过程(我没写过)
- 参数CODE,DATA,UID
CREATE PROCEDURE [dbo]。[write_resp] @mCODE char(3),@ mDATA > char(1000),@ mUID char(6)AS
设置nocount
插入vresp(代码,数据,uid)值(@ mCODE,@ mDATA,@ mUID)
和1000的长度。
>I''ve got a long string to be written to a field in a sql db table via
stored procedure. For some reason I find only 258 chars are being
written. Any ideas?
relevant bits of my VB2005 code:
mySqlConnection.ConnectionString = "..........
mySqlCommand.Connection = mySqlConnection
mySqlCommand.CommandType = CommandType.StoredProcedure
myRspSqlCommand.Connection = mySqlConnection
myRspSqlCommand.CommandType = CommandType.StoredProcedure
myRspSqlCommand.CommandText = "write_resp"
myRspSqlCommand.Parameters.Clear()
myRspSqlCommand.Parameters.Add(New
SqlClient.SqlParameter("@mCODE", Data.SqlDbType.Char, 3))
myRspSqlCommand.Parameters.Add(New
SqlClient.SqlParameter("@mDATA", Data.SqlDbType.Char, 1000))
myRspSqlCommand.Parameters.Add(New
SqlClient.SqlParameter("@mUID", Data.SqlDbType.Char, 6))
.
.
.
myRspSqlCommand.Parameters("@mCODE").Value = RTcode
myRspSqlCommand.Parameters("@mDATA").Value = RTrespstr
myRspSqlCommand.Parameters("@mUID").Value = RTuid
myRspSqlCommand.ExecuteNonQuery()
The stored procedure (which I didn''t write)
-- Parameters CODE,DATA,UID
CREATE PROCEDURE [dbo].[write_resp] @mCODE char(3),@mDATA
char(1000),@mUID char(6) AS
set nocount on
insert into vresp (code,data,uid) values(@mCODE,@mDATA,@mUID )
GO
the database structure is table structure shows data as being type char
and 1000 in length.
您是否检查过分配给mData字段的字符串?
Have you checked the string your assigning to mData field?
是的,当然
是
yes, of course
Is it
真的大于258个字符?它不包含非ansi chars?
really greater then 258 chars? It doesn''t contain non ansi chars?
好问题但不是没有。
good question but no it doesn''t.
>
-
Tom Shelton
>
--
Tom Shelton