【问题标题】:SQL Insert and Replace?SQL插入和替换?
【发布时间】:2014-05-12 14:32:46
【问题描述】:

我为我的网站运行了一条 SQL 语句,用于将数据插入访问数据库。如果其中一个日期文本框包含空格,在插入过程中是否有办法替换空格“”?我需要这样做,因为如果其中一列中有空格,它会抛出我的日期查询?

INSERT INTO tblOpen (DateColumn1, DateColumn2) Values (@Value1, @Value2)

【问题讨论】:

  • 我需要问你。您是否将日期值存储在字符串数据库字段中?
  • 它只是一个文本数据类型列
  • 这是您问题的根源。日期应存储为日期,而不是字符串。然后,您将避免在查询该日期时出现任何问题。

标签: asp.net sql vb.net ms-access


【解决方案1】:

您应该为 DateColumn 使用“日期时间”类型。它解决了你所有的问题。为适当的字段使用适当的变量是件好事。

【讨论】:

    【解决方案2】:

    如果你的意思是标题和尾随空格,那么:

    myString = myString.Trim()
    

    在您的 vb.net 代码中会很好。即使我会听从史蒂夫的建议并转换为日期。

    【讨论】:

      【解决方案3】:

      由于问题是关于替换,您可以使用 Replace()

      INSERT INTO tblOpen (DateColumn1, DateColumn2) 
          Values (REPLACE(@Value1, ' ', ''), @Value2)
      

      或 LTrim() 和 RTrim()

      INSERT INTO tblOpen (DateColumn1, DateColumn2) 
          Values (LTRIM(RTRIM(@Value1)), @Value2)
      

      但是,如果数据类型是日期时间,那么使用转换为该类型是有意义的

      DateTime d = Convert.ToDateTime(TextBox1.Text);
      SqlParameter p = command.Parameters.Add("@Value1", System.Data.SqlDbType.DateTime);
      p.Value = d;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-09-25
        • 1970-01-01
        • 1970-01-01
        • 2013-12-08
        • 2011-04-14
        • 2014-11-15
        • 1970-01-01
        • 2011-01-25
        相关资源
        最近更新 更多