vba将excel数据写入sqlserver后为何带问号
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