将访问代码更改为 sql server

Posted

技术标签:

【中文标题】将访问代码更改为 sql server【英文标题】:Change access code to sql server 【发布时间】:2018-05-15 08:14:21 【问题描述】:

这个用于随机化记录的代码在访问数据库中工作得非常好......但是当我尝试在 Sql 服务器上更改数据库时,我遇到了这个错误

“时间”不是可识别的内置函数名称

我的代码:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles                                  Button1.Click
    DataBase_Connection()
    Dim rows As Integer
    If Not Integer.TryParse(TextBox1.Text, rows) Then
        MsgBox("DECIMAL NUMBER NOT AVAILABLE", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "ERROR")
        TextBox1.Text = ""
        TextBox1.Focus()
        Exit Sub
    End If
    Dim sql As String = String.Format("SELECT Top 0 ID, First_Name, Last_Name FROM FACTORY ORDER BY RND(-(100000*ID)*Time())", rows)

    InfoCommand = New SqlCommand(sql, Con)
    InfoAdapter = New SqlDataAdapter()
    InfoAdapter.SelectCommand = InfoCommand
    InfoTable = New DataTable()
    InfoAdapter.Fill(InfoTable)
    DataGridView1.DataSource = InfoTable
End Sub

我尝试用convert(time(0),getDate()) 更改sql 查询中的单词time,但遗憾的是不是最好的结果

【问题讨论】:

【参考方案1】:

试试NEWID():

Dim sql As String = String.Format("SELECT Top 0 ID, First_Name, Last_Name FROM FACTORY ORDER BY NEWID()", rows)

【讨论】:

非常感谢 popiandro .. 效果很好。完美解决 又学到了新东西!谢谢。【参考方案2】:

'时间'不是sql server的内置函数,请尝试以下。

SELECT Top 100 ID, First_Name, Last_Name FROM FACTORY ORDER BY NEWID()

【讨论】:

非常感谢 Ravi Mendpara

以上是关于将访问代码更改为 sql server的主要内容,如果未能解决你的问题,请参考以下文章

将 Access 链接从 SQL Server 更改为另一个 Access 文件?

在sql server中以编程方式将内置帐户更改为本地系统

将 sql server 实例名称更改为共享点的 AG 侦听器

如何将sql代码更改为informatica进程

在 SQL Server 2012 中使用 Pivot 函数将行数据更改为列

将现有 SQL Server 2005 数据库中的数据类型 varchar 更改为 nvarchar。有啥问题吗?