学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
 12 12
发新话题
打印

asp.net中VB的语法有错

asp.net中VB的语法有错

Dim sd As New Data.OleDb.OleDbCommand("insert into user(user,pwd)values ('+use_txt.Text+','+pwd_txt.Text+')", dd)
总报sql语句有错,请问一下如何改呀

TOP

'+use_txt.Text+','+pwd_txt.Text+'这里有错误,+use_txt.Text+不是字符串……
要是c#的话应该改成
'“+use_txt.Text+”','“+pwd_txt.Text+”'
vb是不是这样改不太确定,好像是&什么的,没有学过vb不是太清楚,lz可以到网上查查……
积霜累寒始成冰,唯独河冰冰中冰。

TOP

我加了'"&&"'也不对
网络改变了我,编程改变了我的生活

TOP

Dim sd As New Data.OleDb.OleDbCommand("insert into user(user,pwd) values ('+use_txt.Text+','+pwd_txt.Text+')",
values 前面加个空格

TOP

还是一样报错
Partial Class _Default
    Inherits System.Web.UI.Page

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim dd As New Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("App_Data\md.mdb"))
        Dim sd As New Data.OleDb.OleDbCommand("insert into user(user,pwd)  values (' + use_txt.Text+  ','+ pwd_txt.Text + ')", dd)
        Try
            dd.Open()
        Catch ex As Exception
            Response.Write(ex.Message)
        End Try
        Try
            sd.ExecuteNonQuery()
        Catch ex As Exception
            Response.Write(ex.Message)
        End Try

        Response.Write("<script language='jvavscript'>alert('操作成功');</script>")
    End Sub
End Class
网络改变了我,编程改变了我的生活

TOP

引用:
以下是引用 hebingbing 在 2008-5-16 10:42 AM 的发言:

'+use_txt.Text+','+pwd_txt.Text+'这里有错误,+use_txt.Text+不是字符串……
要是c#的话应该改成
'“+use_txt.Text+”','“+pwd_txt.Text+”'
vb是不是这样改不太确定,好像是&什么的,没有学过vb不是太清楚,lz可以到网上 ...
还是这句话……
呵呵……
积霜累寒始成冰,唯独河冰冰中冰。

TOP

是呀,我问的都有点不好意思了,真不明白为什么try得到的错误就是SQL语法错误
网络改变了我,编程改变了我的生活

TOP

输入那句话还是可以正常,就是运行时报错
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Response.Write(use_txt.Text)
        Response.Write("<br>")
        Response.Write(pwd_txt.Text)
        Response.Write("<br>")
        Dim dd As New Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("App_Data\md.mdb"))
        Dim sql As String = "insert into user(user,pwd)  values ( '" + use_txt.Text + "' ,'" + pwd_txt.Text + " ')"
        Response.Write(sql)
        Response.Write("<br>")
        dd.Open()
        Dim sd As New Data.OleDb.OleDbCommand(sql, dd)


        Try
            sd.ExecuteNonQuery()
        Catch ex As Exception
            Response.Write(ex.ToString)
        End Try




        Response.Write("<script language='jvavscript'>alert('操作成功');</script>")
    End Sub
End Class


运行结果:
asdsa
sadsa
insert into user(user,pwd) values ( 'asdsa' ,'sadsa ')
System.Data.OleDb.OleDbException: INSERT INTO 语句的语法错误。 在 System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr) 在 System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) 在 System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) 在 System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) 在 System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) 在 System.Data.OleDb.OleDbCommand.ExecuteNonQuery() 在 _Default.Button1_Click(Object sender, EventArgs e) 位置 F:\asp.net\Default.aspx.vb:行号 19
网络改变了我,编程改变了我的生活

TOP

改成这样的试试……
insert into [user]([user],pwd)
积霜累寒始成冰,唯独河冰冰中冰。

TOP

把它移到别的盘就可以正常运行了,怪怪的
网络改变了我,编程改变了我的生活

TOP

 12 12
发新话题