vba将excel数据写入sqlserver后为何带问号

gzlaspnet 2010-12-05 04:06:58
vba将excel数据写入sqlserver后为何带问号,比如本来是1.0写入后成了1.0?,也就是后面多了一个问号,如何去除这个问号
'vba通过存储过程参数化将excel数据写入sqlserver
Sub insertsqlpar()
Dim conn As New ADODB.Connection '定义数据链接对象 ,保存连接数据库信息;请先添加ADO引用
Dim rs As New ADODB.Recordset '定义记录集对象,保存数据表
Dim strCn As String, strSQL As String '字符串变量
strCn = "Provider=sqloledb;Server=127.0.0.1;Database=dbcar;Uid=sa;Pwd=123;" '定义数据库链接字符串
Dim cm As New ADODB.Command
conn.ConnectionString = strCn
conn.Open
cm.ActiveConnection = conn
cm.CommandText = "Up_tbche_xinxi_Insert" '与Sql Server中建立的存储过程名称对应
cm.CommandType = 4 'CommandType表示存储过程

Set p = cm.Parameters
'基本参数字符串-----------------------------------------------------------------------------------------------
Dim jiben_cs_str As String
Dim str As String
Sheet1.Cells(1, 15) = Trim(Sheet1.Range("e4"))
jiben_cs_str = "<?xml version='1.0' encoding='GB2312' ?>"

str = "<基本参数>" & _
"<排量>" & Trim(Sheet1.Range("e4")) & "</排量>" & _
"<长.宽.高>" & Trim(Sheet1.Range("g4")) & "</长.宽.高>" & _
"<轴距>" & Trim(Sheet1.Range("e5")) & "</轴距>" & _
"<最大功率>" & Trim(Sheet1.Range("g5")) & "</最大功率>" & _
"<油耗>" & Trim(Sheet1.Range("e6")) & "</油耗>" & _
"<最高车速>" & Trim(Sheet1.Range("g6")) & "</最高车速>" & _
"<变速器>" & Trim(Sheet1.Range("e7")) & "</变速器>" & _
"<最大扭矩>" & Trim(Sheet1.Range("g7")) & "</最大扭矩>" & _
"</基本参数>"
......
p.Append cm.CreateParameter("@jiben_cs", 200, 1, 300)
cm("@jiben_cs") = jiben_cs_str
cm.Execute

conn.Close
Set conn = Nothing
...全文
223 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧