none
有关于 asp.net 『sql parameter』的问题想请教... RRS feed

  • 问题




  •  
        Public Function _Newid() As String
            Return Hex(Guid.NewGuid.ToString.Replace("-", "").GetHashCode())
        End Function   
    Public Function _CurrentDateTime() As DateTime
            Return System.DateTime.Now
        End Function






    InsertCommand="INSERT INTO [IMAGE] (IMAGE_ID, [IMAGE_FILENAME], [IMAGE_CONTENT], [IMAGE_DATEADDED], [IMAGE_MIMETYPE]) VALUES ('<%=_Newid().tostring %>', @IMAGE_FILENAME, @IMAGE_CONTENT, ‘<%= _CurrentDateTime()%>', @IMAGE_MIMETYPE)"
    请问一下 为什么 在insert的时候 会发生错误,是不是我的语句有问题?
    <%=_Newid().tostring %>' 和 ‘<%= _CurrentDateTime()%>' 能否放在 insert command 里?
    2010年3月7日 14:35

答案

  • 你好!

    把 '<%=_Newid().tostring %>' 改为 CAST(NEWID() AS VARCHAR(36)),另外既然是 Guid 在数据的类型建议设置为 uniqueidentifier。
    知识改变命运,奋斗成就人生!
    2010年3月8日 4:37
    版主

全部回复

  • 你使用带参数形式的插入,这样写是错误的,
    你应该把<%=_Newid().tostring %>' 和 ‘<%= _CurrentDateTime()%>' 用参数代替,然后
    把<%=_Newid().tostring %>' 和 ‘<%= _CurrentDateTime()%>'赋值给参数

    InsertCommand="INSERT INTO [IMAGE] (IMAGE_ID, [IMAGE_FILENAME], [IMAGE_CONTENT], [IMAGE_DATEADDED], [IMAGE_MIMETYPE]) VALUES (@newid,  @IMAGE_FILENAME,  @IMAGE_CONTENT,@CurrentDateTime,  @IMAGE_MIMETYPE)"
    努力+方法=成功
    2010年3月8日 2:04
  • 你好!

    把 '<%=_Newid().tostring %>' 改为 CAST(NEWID() AS VARCHAR(36)),另外既然是 Guid 在数据的类型建议设置为 uniqueidentifier。
    知识改变命运,奋斗成就人生!
    2010年3月8日 4:37
    版主
  • 楼上正解
    咯咯
    2010年3月8日 5:05