新手求助,字符串连接问题
Dim selStr As String
selStr = "SELECT mh.StationID,mh.观测时间,小时雨量,二分钟平均风向, 二分钟平均风速,十分钟平均风向,十分钟平均风速"
selStr = selStr + "最大风速的风向, 最大风速, 最大风速出现时间, 瞬时风向, 瞬时风速, 极大风速的风向, 极大风速, 极大风速出现时间"
selStr = selStr + " from AhGis2012.dbo.Meso2012_hour mh and AhGis2012.dbo.AWS2012_10min A10 where A10.StationID =mh.StationID and A10.观测时间 =mh.观测时间" '连接数据库
cnadonetconnection.ConnectionString = "provider=Sqloledb;Data Source=ip;Initial Catalog=AhGis2012;Persist Security Info=True;User ID=meso;password=meso"
cnadonetconnection.Open()
dadaataadapter = New OleDb.OleDbDataAdapter(selStr, cnadonetconnection)
提示说是红色字体处and出错误,不知道怎么改,请各位指教
[解决办法]
十分钟平均风向,十分钟平均风速,"
少了逗号?
[解决办法]
联合查询2个数据库表,怎么能用and呢,用逗号隔开
注意下面2个标红部分的逗号,楼主要么太粗心啦,如果不是看来得好好补补SQL了
selStr = "SELECT mh.StationID,mh.观测时间,小时雨量,二分钟平均风向, 二分钟平均风速,十分钟平均风向,十分钟平均风速,"
selStr = selStr + "最大风速的风向, 最大风速, 最大风速出现时间, 瞬时风向, 瞬时风速, 极大风速的风向, 极大风速, 极大风速出现时间"
selStr = selStr + " from AhGis2012.dbo.Meso2012_hour mh , AhGis2012.dbo.AWS2012_10min A10 where A10.StationID =mh.StationID and A10.观测时间 =mh.观测时间" '连接数据库
[解决办法]
感觉先在写好SQL语句,然后把SQL复制到代码中,再用CTRL+H的方式在SQL的行首和行尾添加字符串连接需要的代码,这样看起来可能更美观,我一般用StringBuilder,觉得挺好的
Dim sqlStr As New System.Text.StringBuilder
sqlStr.Append(" SELECT mh.StationID,")
sqlStr.Append(" mh.观测时间,")
sqlStr.Append(" 小时雨量,")
sqlStr.Append(" 二分钟平均风向,")
sqlStr.Append(" 二分钟平均风速,")
sqlStr.Append(" 十分钟平均风向,")
sqlStr.Append(" 十分钟平均风速,")
sqlStr.Append(" 最大风速的风向,")
sqlStr.Append(" 最大风速,")
sqlStr.Append(" 最大风速出现时间,")
sqlStr.Append(" 瞬时风向,")
sqlStr.Append(" 瞬时风速,")
sqlStr.Append(" 极大风速的风向,")
sqlStr.Append(" 极大风速,")
sqlStr.Append(" 极大风速出现时间")
sqlStr.Append(" from AhGis2012.dbo.Meso2012_hour mh, AhGis2012.dbo.AWS2012_10min A10")
sqlStr.Append(" where A10.StationID = mh.StationID ")
sqlStr.Append(" and A10.观测时间 = mh.观测时间")
'StringBuilder转换成string
Dim sql As String = sqlStr.ToString
'使用后清空
sqlStr.Remove(0, sqlStr.Length)