十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
你 GROUP BY 会员卡号前没有空格
目前成都创新互联公司已为近1000家的企业提供了网站建设、域名、虚拟空间、网站改版维护、企业网站设计、安阳县网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
"select count(*) from (select count(会员卡号) from HYDJ where 登记时间 between '" + DateTimePicker1.Value.Date + "' and '" + DateTimePicker2.Value + "' GROUP BY 会员卡号)"
或
"select count(*) from (select count(会员卡号) from HYDJ where 登记时间 between '" + DateTimePicker1.Value.Date + "' and '" + DateTimePicker2.Value + "'+ Space(1) + GROUP BY 会员卡号)"
比如有个asp.net(vb.net)连接sql server 2000数据库的连接模块(module):
Module MdlCommon
Public txtSQL As String '存放SQL语句
Public DBSet As DataSet '查询得到的记录集
Public ErrorMsg As String '存放错误信息
Public Function ExecuteSQL(ByVal strSQL As String, ByRef errMsg As String) As DataSet
Dim cnn As SqlClient.SqlConnection
Dim cmd As New SqlClient.SqlCommand()
Dim adpt As SqlClient.SqlDataAdapter
Dim rst As New DataSet()
Dim SplitSQL() As String
errMsg = ""
Try
SplitSQL = Split(strSQL)
cnn = New SqlClient.SqlConnection("data source=(local);initial catalog=urp;user id=sa;pwd=1234")
If InStr("INSERT,DELETE,UPDATE", UCase$(SplitSQL(0))) Then
cmd.Connection = cnn
cmd.Connection.Open()
cmd.CommandText = strSQL
cmd.ExecuteNonQuery()
Else
adpt = New SqlClient.SqlDataAdapter(strSQL, cnn)
adpt.Fill(rst)
ExecuteSQL = rst
End If
Catch ex As Exception
errMsg = ex.Message
Finally
rst = Nothing
cnn = Nothing
End Try
End Function End Module
调用时在asp.net后台写上txtSQL="SELECT * FROM user";
DBSet=ExecuteSQL(txtSQL,ErrorMsg)就可以查询db返回结果了。
cjsaohan的回答正确
用SQL句Alter table Add ColumnName varchar(50)即可。
我只是指出一点,你的做法不对。一般情况,客户端不去改变数据的结构,客户端做的,只是增加或删除数据记录。这样对后期的维护来说会方便一些。
有一些客户端比如一些软件工厂类软件,会用客户端去建表并做一些数据字段还有其它的一些关联,但小软件,我真的不建议你这样做。学习除外。