【问题标题】:Basic4Android sql1 updateBasic4Android sql1更新
【发布时间】:2016-02-12 23:18:53
【问题描述】:

关于更新 sql db (Lover.db) 中的记录,我一直在使用 basic4android。这有效:

 SQLLover.ExecNonQuery("UPDATE Profiles SET Mobile ='Nos', " & _
   "Name = 'Nme', Sunday = 'SundayX', Monday = 'MondayX', " & _
   "Tuesday = 'TuesdayX', Wednesday = 'WednesdayX', Thursday = 'ThursdayX', " & _
   " Friday = 'FridayX', Saturday = 'SaturdayX', " & _
   "StartTime = 'lblTimeFrom.text', EndTime = 'lblTimeTo.Text' " & _
   "WHERE Mobile='07xxxxxxxxx' AND Name='Sam'")

当然,只是用单引号中的数据更新。我想使用一些变量,并且已经尝试过;

SQLLover.ExecNonQuery2("Update Profiles SET(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", & _
    Array As Object(Nos, Nme, SundayX, MondayX, TuesdayX, WednesdayX, & _
    ThursdayX, FridayX, SaturdayX, lblTimeFrom.Text, lblTimeTo.Text))

这是正确的语法吗?当然,Nos、Nme、SundayX 等都是我的变量。

【问题讨论】:

    标签: basic4android


    【解决方案1】:

    您的UPDATE 语法完全错误。正确的语法是UPDATE table SET column = value, column2 = value2 等等。您的代码甚至没有做任何与您的代码相近的事情。我不会费心把整件事都打出来,但我会做的足够让你开始:

    SQLLover.ExecNonQuery2("Update Profiles " & _
      "SET Mobile = ?, Name = ?, Sunday = ?, Monday = ?", & _
      Array As Object(Nos, Nme, SundayX, MondayX))
    

    【讨论】:

      【解决方案2】:

      使用您的代码,即工作代码,为了能够在查询中使用变量,您必须转义查询并连接变量。看看这个简短的例子

      SQLLover.ExecNonQuery("UPDATE Profiles SET Mobile = ' " & NOs & " ', Name = ' "&NMe & " ' WHERE Name = ' " & OldNameVariable & " ' ")
      

      所以要使用变量插入 "& VARIABLENAME &" 如示例中(Mobile = '"& Nos &"')

      提示:最后一个查询应如下所示:AND Name=' " & SamOldVariableName & " ' ")

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多