怎样在Visual studio中附加一个数据库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样在Visual studio中附加一个数据库相关的知识,希望对你有一定的参考价值。
1、打开Microsoft Visual Studio,使用“工具”菜单下的“连接到数据库”可以附加数据库到Microsoft Visual Studio上。
2、工具:Microsoft Visual Studio 2010
3、步骤:
①打开Microsoft Visual Studio 2010:
②单击“工具”,在弹出的下拉菜单单击”连接到数据库“:
③在弹出的菜单里单击microsoft access 数据库文件,然后单击"确定”:
④在弹出的窗口中单击“浏览”选择数据库文件,然后确定:
⑤上图确定后完成数据库的附加,在服务器资源管理器可以看到:
4、注意:附加的数据库类型是根据需要选择的。
参考技术A 首先要导入SOL的头文件:其次:声明连接字符串,如下:
String strSQL="";
string con=ConfigurationSettings.AppSettings["dsn"];
连接代码:
SqlConnection conn = new SqlConnection(con);
myConnection = New SqlConnection( "server=localhost;database=Pubs;uid=ueytjdf;pwd=doekdf" )
声明连接命令:
SqlCommand cm=new SqlCommand(strSQL,conn);
打来数据库:
myConnection.Open()
更新数据库操作:
myCommand = New SqlCommand( "Insert into testtable (name,sex) values( '黄志文','男' )",myConnection ) //创建SQL执行语句
执行数据库操作:
myCommand.ExecuteNonQuery()//执行
关闭数据库连接:
myConnection.Close()//关闭
调试期间在 Visual Studio 中自动附加到子进程
【中文标题】调试期间在 Visual Studio 中自动附加到子进程【英文标题】:Attaching to a child process automatically in Visual Studio during Debugging 【发布时间】:2009-01-08 00:30:30 【问题描述】:为媒体中心编写插件时,您的插件托管在 ehexthost.exe
中,此 exe 从 ehshell.exe
启动,您无法直接启动它,而是将特殊参数传递给 ehshell.exe
,它将启动插件在一个单独的过程中。
当我们调试 media browser 时,我发现附加到第二个进程的过程有点笨拙,我知道 Debugger.Attach 以及一些我可以使用的 special registry 条目。
这两种方法都不完全符合我的要求。我想要的是按 F5 并让我当前的 Visual Studio 实例自动附加到子进程。这可以做到吗?
如果有一个 VS 插件可以让我实现这个功能,我会很高兴的。
编辑
我最终选择了以下宏:
Public Sub CompileRunAndAttachToEhExtHost()
DTE.Solution.SolutionBuild.Build(True)
DTE.Solution.SolutionBuild.Debug()
Dim trd As System.Threading.Thread = New System.Threading.Thread(AddressOf AttachToEhExtHost)
trd.Start()
End Sub
Public Sub AttachToEhExtHost()
Dim i As Integer = 0
Do Until i = 50
i = i + 1
Try
For Each proc As EnvDTE.Process In DTE.Debugger.LocalProcesses
If (proc.Name.IndexOf("ehexthost.exe") <> -1) Then
proc.Attach()
Exit Sub
End If
Next
Catch e As Exception
' dont care - stuff may be busy
End Try
Threading.Thread.Sleep(100)
Loop
End Sub
另外,我在我的博客上概述了如何get this going 的过程。
【问题讨论】:
新的 Debugger2 接口还有其他方法,codeplex.com/lazy/SourceControl/changeset/view/20095#307770 使用Debugger2接口有优势吗? 是的,而不是在 DTE.Debugger.LocalProcesses 上循环,您只需获取进程 proc = debugger2.GetProcesses(trans, "").Item(processName) 我的 VB 很生锈 - 我得到“名称 'proc' 未声明” - 关于需要修复什么的任何想法? 想通了。应该如下: For Each proc As EnvDTE.Process In DTE.Debugger.LocalProcesses 【参考方案1】:我会使用宏。我重新定义了我的 F5 函数以附加到 asp.net 进程,而不是它通常执行的长时间构建/验证。这对我来说效果很好,而且非常简单。
For Each process In DTE.Debugger.LocalProcesses
If (process.Name.IndexOf("aspnet_wp.exe") <> -1) Then
process.Attach()
Exit Sub
End If
Next
【讨论】:
谢谢,当我按下 F4 时,我用它来附加到 WebDev.WebServer 和 IE 有什么建议可以在 VS2012 中执行此操作,因为他们已经删除了宏? 您实际上不再需要!至少不是因为我需要它。他们为 Web 项目添加了一个新选项,即“不要打开页面。等待来自外部应用程序的请求”。在项目下-> web 设置。不过,如果我需要附加到非 Web 进程,我不确定该怎么做。对不起!【参考方案2】:对于 VS2012,宏已被删除,但您仍然可以使用标准键盘快捷键快速完成。例如,附加到 iisexpress.exe:
Ctrl + Alt + p - 打开附加到进程对话框
i - 跳转到列表中以 i 开头的第一个进程(对我来说这是 iisexpress.exe)
输入 - 附加
想要超速,也可以Turn off Visual Studio Attach security warning when debugging IIS。
【讨论】:
【参考方案3】:查看我编写的 VisualStudio 插件,名为 Lazy。
【讨论】:
谢谢,我是在遇到和你类似的场景时写的.如果您有任何问题,请告诉我。 “它在我的机器上工作” 我安装后,它只显示在VS2008,而不是VS2010。 嘿@pablito,你有计划将你的插件移植到VS2010/2012+吗? 好久没更新了,不过好像有人感兴趣我会尽快移植到vs2010/12的。【参考方案4】:我在一个外部生成的进程中调试了一个 C++ 插件,该进程在启动时抛出异常而崩溃,这对我来说非常有效:
添加免费的Reattach Extension for Visual Studio。要求它在启动之前重新附加到进程名称。它会弹出一个模式对话框,说它正在等待进程名称启动。
现在启动进程,Visual Studio 调试器将立即附加,捕获异常并命中断点。
(这也在媒体插件中,异常通常在 Delphi 上下文中被宿主进程捕获并重新抛出,因此我需要在此之前中断)。
【讨论】:
【参考方案5】:如果你在 Visual Studio 中设置了类似的东西,你可以通过按 F5 自动附加到进程:
http://vvcap.net/db/ujYL7zeN_n_RgeprqCSM.htp
注意:“Command”填写为可执行文件名,“Attach”必须为“yes”
【讨论】:
谢谢!但是这个技巧不适用于 C# 项目,你在调试列表中没有类似的选项,只有启动外部程序的选项 我想我知道你的意思......你可以创建一个“虚拟”c++ 项目并将其添加到你的解决方案中。只要它附加了一个正确的可执行文件,你就可以调试了。以上是关于怎样在Visual studio中附加一个数据库的主要内容,如果未能解决你的问题,请参考以下文章
怎么附加数据库在Microsoft Visual Studio上