vb.net monthcalendar 判断是不是选中某个日期

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vb.net monthcalendar 判断是不是选中某个日期相关的知识,希望对你有一定的参考价值。

现在我的程序中有个地方想判断是不是鼠标点击了monthcalendar中某个日期,判断语句是什么?

参考技术A Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Text = MonthCalendar1.SelectionStart.Day
End Sub本回答被提问者采纳

VB.net 在连接之前检查数据库是不是存在

【中文标题】VB.net 在连接之前检查数据库是不是存在【英文标题】:VB.net Checking if database exists before connecting to itVB.net 在连接之前检查数据库是否存在 【发布时间】:2016-04-24 23:13:45 【问题描述】:

我found下面的查询是为了查明是否已经创建了一个数据库表:

if db_id('thedbName') is not null
   --code mine :)
   print 'db exists'
else
   print 'nope'

现在我想在我的 VB.net 应用程序中使用相同的查询。这是我目前在其他地方连接到数据库的代码(我想在执行所有这些操作之前查看它是否存在):

Dim cn As SqlConnection = New SqlConnection("Data Source=DAVIDSDESKTOP;" & _
                                            "Initial Catalog=thedbName;" & _
                                            "Integrated Security=True;" & _
                                            "Pooling=False")

    Dim sql As String = "if db_id('thedbName') is not null " & vbCrLf & _
                            "Print() 'exists' " & vbCrLf & _
                        "else " & vbCrLf & _
                            "Print() 'nope'"

    Dim cmd As SqlCommand = New SqlCommand(sql, cn)

    cmd.Connection.Open()
    Dim blah As String = cmd.ExecuteNonQuery()
    cmd.Connection.Close()

当然,问题是我必须先知道数据库名称才能连接到数据库。

然后我似乎可以使用以下方法连接到 master 数据库:

Dim cn As SqlConnection = New SqlConnection("Data Source=DAVIDSDESKTOP;" & _
                                            "Integrated Security=True;" & _
                                            "Pooling=False")

    Dim sql As String = "if db_id('thedbName') is not null " & vbCrLf & _
                            "Print() 'exists' " & vbCrLf & _
                        "else " & vbCrLf & _
                            "Print() 'nope'"

    Dim cmd As SqlCommand = New SqlCommand(sql, cn)

    cmd.Connection.Open()
    Dim blah As String = cmd.ExecuteNonQuery()
    cmd.Connection.Close()

但该查询似乎在 Dim blah As String = cmd.ExecuteNonQuery() of 上引发错误:

附加信息:')' 附近的语法不正确。

所以我不确定为了更正查询问题而遗漏了什么?

需要知道如何让查询返回并说“存在”或“不”

【问题讨论】:

您是否先在数据库上运行查询,然后再将其包含在代码中? How to check if a database and tables exist in sql server in a vb .net project?的可能重复 是的,使用 SQL 管理工作室,查询工作得很好。 @MrGadget 不适用,因为我还想返回“存在”或“不”。在其他帖子的链接中没有这种方式的解决方案。 应该只是 Print exists 没有括号 【参考方案1】:

Print() 更改为Print(去掉括号。)


最好不要使用Print,使用select

Dim sql As String = "if db_id('thedbName') is not null " & vbCrLf & _
                        "select 'exists' " & vbCrLf & _
                    "else " & vbCrLf & _
                        "select 'nope'"

Dim blah As String = CType(cmd.ExecuteScalar(), string)

ExecuteNonQuery 返回更新和插入的受影响行数。但是你正在执行的一个查询。

ExecuteScalar 返回所选第一行的第一列。上面的查询只返回一行一个值,所以它会返回。

【讨论】:

感谢您发现这一点。没有错误,但它一直返回 -1 而不是 'exists' 或 'nope' 伟大的斯科特!哈。感谢您的示例代码。它现在工作得很好!【参考方案2】:

或者这样做

select * from sys.databases where [name] = 'thedbName'

如果返回一行,则数据库存在,如果不返回,则不存在。

要检查数据库中是否存在表,请使用此

select * from sys.objects where [name] = 'theTableName' and type_desc = 'USER_TABLE'

【讨论】:

以上是关于vb.net monthcalendar 判断是不是选中某个日期的主要内容,如果未能解决你的问题,请参考以下文章

vb.net 里面如何判断某个值存在一个数组中?

在monthcalendar中如何获取选定日期是星期几

如何用vb.net实现:判断指定路径下是不是存在指定文件

vb.net 判断数字是不是为日期型

VB.NET 在月历中禁用过去的日期

月历 vb.net 多个日期选择