使用SqlConnection连接数据库出错,Open打不开

lixlin 2003-09-12 03:42:01
Imports System.Data
Imports System.Data.SqlClient

Dim myConnection As SqlConnection = New SqlConnection()
myConnection.ConnectionString = "Data Source=star21;Initial Catalog=lsnow;User ID=sa;Password=sa;"
myConnection.Open()
myConnection.Close()

当执行到Open时,报异常:
System.IO.FileNotFoundException'不存在。

请指教原因。
...全文
466 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
lixlin 2003-09-15
  • 打赏
  • 举报
回复
嗯,也感觉应该是文件损坏或丢失的问题,我再重装一下试试看,不过还是谢谢xixigongzhu(夕夕公主)乐。
sdewen2003 2003-09-13
  • 打赏
  • 举报
回复
以上報錯是在" strconn.ConnectionString = conn " 它說我 " 類型'ystem.ArgumentException'未處理例外狀況發生于System.data.dll
其它資訊:連接字串中未知的連接選項:provider
sdewen2003 2003-09-13
  • 打赏
  • 举报
回复
各位大俠: 我也碰到與數据庫(SQL2000)連接不上的情況,請各位幫幫我吧....

Public Class Form1
Inherits System.Windows.Forms.Form
Private a, b, i, conn As String
Private strconn As New SqlClient.SqlConnection()

Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

a = TextBox1.Text
b = TextBox2.Text


Dim cmd As New SqlClient.SqlCommand("select * from 使用者 where 使用者代號 = '" & a & "' and 密碼 = '" & b & "' ", strconn)
Dim da As New SqlClient.SqlDataAdapter(cmd)
Dim ds As New DataSet()

da.Fill(ds, "使用者")
If ds.Tables.Count = 0 Then
MessageBox.Show("您的代號或者密碼不正确,請重新登入!", "提示", MessageBoxButtons.OKCancel + MessageBoxIcon.Warning)
Exit Sub
End If

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim m As Integer
m = MessageBox.Show("妳确定要離開是嗎?", "最后确認一下!", MessageBoxButtons.YesNo)
If m = 6 Then
Form.ActiveForm.Close()
Else
Exit Sub
End If
Exit Sub

End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TextBox1.Text = ""
TextBox2.Text = ""

conn = "Provider=SQLOLEDB; User ID=sa; Password=system; Data Source = wsk7109b; Initial Catalog = EP條碼系統"
strconn.ConnectionString = conn


End Sub

Private Sub Label3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label3.Click

End Sub

Protected Overrides Sub Finalize()
MyBase.Finalize()
End Sub
End Class
sdewen2003 2003-09-13
  • 打赏
  • 举报
回复
請教xixigongzhu(夕夕公主):
那我該怎么改寫才對呢??? 請賜教!!! 多謝!~!
xixigongzhu 2003-09-13
  • 打赏
  • 举报
回复
这个Provider=SQLOLEDB错了,在sql连接语句里,没有Provider这个属性。
xixigongzhu 2003-09-12
  • 打赏
  • 举报
回复
我的意思是,如果连接别人的数据库还是连不上的话,那可能是API的问题,也就是system.data.dll数据丢失或者与它有关的文件丢失了。

这些都必须具体的看文件才知道,可是我不可能看到你的文件。

你可以考虑重装.net,当然这是没办法的情况下。

以前可以跑吗?

你运行过QuickStart上关于数据库的sample吗?以前或者现在这些sample是否可以跑起来呢?
lixlin 2003-09-12
  • 打赏
  • 举报
回复
刚才又连接了一次本地的SQL Server的数据库,还是不行,
出现同样的错误。
个人觉得,应该和数据库没有关系吧。
xixigongzhu 2003-09-12
  • 打赏
  • 举报
回复
用SqlConnection连别的数据库有问题吗?比如局域网内别的系统的别的数据库。
lixlin 2003-09-12
  • 打赏
  • 举报
回复
可以看到,
而且使用Oledbconnection也可以对它进行各种操作,
就是换成Sqlconnection不可以。
xixigongzhu 2003-09-12
  • 打赏
  • 举报
回复
你在查询分析器内看可不可以访问这个服务的这个数据库?
lixlin 2003-09-12
  • 打赏
  • 举报
回复
那mscorlib.dll这个文件用不用手工导入到工程里面去啊?
lixlin 2003-09-12
  • 打赏
  • 举报
回复
我使用的是日文的系统,异常信息如下:
[Data File Missing] System.IO.FileNotFoundException: 指定されたモジュールが見つ
かりません。
意思就是:指定的模块查找不到。

at System.Data.SqlClient.SqlConnection.Open()
at ConsoleApplication1.Module1.Main() in D:\WWW\1\ConsoleApplication1\Module1
.vb:line 11

xixigongzhu 2003-09-12
  • 打赏
  • 举报
回复
本来就没有system.io.dll这个文件呀,System.IO包在mscorlib.dll文件内。
xixigongzhu 2003-09-12
  • 打赏
  • 举报
回复
异常信息呢?
lixlin 2003-09-12
  • 打赏
  • 举报
回复
堆栈跟不进去啊,
ConsoleApplication1.exe!ConsoleApplication1.Module1.Main() 行 11 Basic
只能到这一层。
xixigongzhu 2003-09-12
  • 打赏
  • 举报
回复
FileNotFoundException的异常信息内说明了是什么文件没发现,斑竹可否把异常的堆栈给出来呢?
lixlin 2003-09-12
  • 打赏
  • 举报
回复
应该不是吧,
同样的连接字符串使用Oledbconnection就可以连接。
是不是缺少什么文件啊,
这里的.Net版本是v1.1
cnhgj 2003-09-12
  • 打赏
  • 举报
回复
看看服务器名与表名有没有写错
lixlin 2003-09-12
  • 打赏
  • 举报
回复
加上异常以后为:
Imports System.Data
Imports System.Data.SqlClient
Imports System.IO

Module Module1

Sub Main()
Try
Dim myConnection As SqlConnection = New SqlClient.SqlConnection()
myConnection.ConnectionString = "Data Source=star21;Initial Catalog=lsnow;User ID=sa;Password=sa;integrated security=SSPI;persist security info=False;"
myConnection.Open()
myConnection.Close()
Catch e As FileNotFoundException
Console.WriteLine("[Data File Missing] {0}", e)
End Try

End Sub

End Module

出错信息还为“System.IO.FileNotFoundException'查找不到。”
孟子E章 2003-09-12
  • 打赏
  • 举报
回复
http://www.csdn.net/Develop/read_article.asp?id=16437
加载更多回复(1)
这是一个比较复杂的数据库 包含图书管理 借书还书 学生管理 老师管理 和数据连接的相关应用 代码有详细的解释 压缩包里面也有 数据库的文件 代码里设置的数据库 用户是 sa 密码是 123456 请使用的时候做相关的修改 下面给出 一部分的代码 请继续关注本资源的发布 会后面有很多实用的代码上传 using System.Windows.Forms; namespace LibraryMis { public class DatabaseAccess { /* 声明成员变量,这样这个类中的所有方法就可是使用这些变量了 */ private SqlConnection myConnection; private SqlCommand myCommand; private SqlDataAdapter myDataAdapter; private DataSet mySet = new DataSet(); /* 写该类的构造方法,该方法名要跟类名相同,无返回值 * 当new这个类时就会执行这个构造方法 */ public DatabaseAccess() { /* 获得保存连接字符串的文件名及路径 */ //获得应用程序路径 string exePath = AppDomain.CurrentDomain.SetupInformation.ApplicationBase; //根据路径和文件名构建FileInfo对象 string fileName = exePath + "connectionString.txt"; //建立FileInfo对象 FileInfo f = new FileInfo(fileName); //判断该文件是否存在 if (f.Exists)//文件存在 { //获得文件内容即存在文件中的连接字符串 //打开文件,获得读文件的数据流对象 StreamReader sr = f.OpenText(); //读文件到变量中 string connectionString = sr.ReadToEnd(); //关闭流 sr.Close(); //由读出的连接字符串创建Connection对象 myConnection = new SqlConnection(connectionString); //由Connection对象创建Command对象 myCommand = myConnection.CreateCommand(); //创建DataAdapter对象 myDataAdapter = new SqlDataAdapter(); myDataAdapter.SelectCommand = myCommand; //创建CommandBuilder对象 SqlCommandBuilder cb = new SqlCommandBuilder(myDataAdapter); //尝试是否能够打开连接 try { myConnection.Open(); } catch (Exception ex) //打开连接出错,可能是连接字符串有问题,这里调用数据库访问设置窗体来重新设置服务器名和数据库名 { MessageBox.Show("连接不到数据库LibraryMis,请在“数据库访问设置窗体中对数据库访问进行正确的设置”" + ",取消登录后重新启动图书馆管理系统!","警告",MessageBoxButtons.OK,MessageBoxIcon.Warning ); //创建 数据库访问设置窗体,并显示 FormSetDatabase fmsd = new FormSetDatabase(); fmsd.ShowDialog(); } finally { try { myConnection.Close(); } catch (Exception ex) { } } return; } else //文件不存在 { //设置默认的连接字符串 string connectionString = "server=.;database=LibraryMis;uid=sa;pwd=123456"; //把这个字符串写入文件 StreamWriter sw = new StreamWriter(fileName); sw.Write(connectionString); sw.Close(); MessageBox.Show("文件" + fileName + "不存在,已创建该文件,请重新启动图书馆管理系统","警告",MessageBoxButtons.OK, MessageBoxIcon.Information); return; } } /*创建查询的方法,返回数据集对象DataSet,参数SelectString表示查询的Sql语句,TableName表示要查询的表名*/ public DataSet FillDataSet(string SelectString, string TableName) { myDataAdapter.SelectCommand.CommandText = SelectString;//设置查询的Sql语句 myDataAdapter.Fill(mySet,TableName); return mySet; } /*执行插入,更新,修改的操作,参数CommandString表示Sql语句*/ public void ExeCommand(string CommandString) { myCommand.CommandText = CommandString; myConnection.Open(); try { myCommand.ExecuteNonQuery(); } catch (Exception ex) { MessageBox.Show(ex.ToString(),"警告",MessageBoxButtons.OK,MessageBoxIcon.Warning); } finally { myConnection.Close(); } } /*执行存储过程的方法,参数为Command对象*/ public void ExeStoreProcedure(SqlCommand command) { command.Connection = myConnection; myCommand = command; myConnection.Open(); try { myCommand.ExecuteNonQuery(); } catch (Exception ex) { MessageBox.Show(ex.ToString(), "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning); } finally { myConnection.Close(); } }
我们在使用WinForm中的TextBox的智能提示要使用到两个重要的TextBox属性, 一个是AutoCompleteMode,另一个是AutoCompleteSource。 AutoCompleteMode有四个值,分别是None,Append,Suggest,SuggestAppend。他们分别是:不给提示。最可能的匹配项自动追加到当前数据。产生由一个或多个建议完成字符串组成的下拉列表。最可能的匹配项自动追加到当前数据并产生由一个或多个建议完成字符串组成的下拉列表。 AutoCompleteSource属性允许您从一些系统源中进行选择,例如 FileSystem、HistoryList、RecentlyUsedList、AllUrl 和 CustomSource。如果选择 CustomSource,则必须向 AutoCompleteCustomSource属性提供一个字符串列表。 我们现在就开始 在VS中建一个新的项目,在From1中添加一个TextBox 并取名为TB_AutoComplete。再添加一个BackgroundWorker取名为bgWorker。 接下来的事都由代码完成。 public Form1() {     bgWorker.RunWorkerAsync();//打开异步操作,完成数据的读取     TB_AutoComplete.AutoCompleteMode = AutoCompleteMode.SuggestAppend; //最可能的匹配项自动追加到当前数据并产生由一个或多个建议完成字符串组成的下拉列表     TB_AutoComplete.AutoCompleteSource = AutoCompleteSource.CustomSource; //设置智能提示的源为自定义源    } AutoCompleteStringCollection GetDataFromDB() { AutoCompleteStringCollection ac = new AutoCompleteStringCollection(); string constr = "server=.;initial catalog=AutoComplete;integrated security=true"; //数据库连接 SqlConnection con = new SqlConnection(constr); string sql = "select * from AutoComplete" ; //我这里使用一个叫AutoComplete的数据库,数据库里有两个字段 一个ID,一个AutoComplete。用于存放智能提示的内容    SqwlCommand cmd = new SqlCommand(sql, con); try { con.Open(); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { string text = reader.GetString(0); ac.Add(text); } con.Close(); } catch (Exception ee) { con.Close(); MessageBox.Show("程序出错了,错误原因是:\n" + ee.Message, "温馨提示"); } return ac; } 然后我们在设计页面中找到bgWorker 在他的DoWorkg事件中写入   private void bgWorker_DoWork(object sender, DoWorkEventArgs e) { e.Result=GetDataFromDB(); } 在RunWorkerCompleted事件中写入 private void bgWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { TB_AutoComplete.AutoCompleteCustomSource = (AutoCompleteStringCollection)e.Result; } 这样我们的智能提示就完成 了 效果图看附件
旅游管理系统 旅游管理系统 1 一、 背景 2 二、 需求分析 2 三、 数据库设计 2 3.1旅游管理系统图 3 3.2数据库设计 3 四、 系统总体结构 4 4.1游客登录界面 4 4.2注册界面 5 4.3 游客查询界面 5 4.4 景点信息查询界面 5 4.5 景点信息查询界面 5 五、 开发环境和使用技术 5 结论 6 一、 背景 伴着蓬勃发展的旅游业,各地的旅行社也应运而生。它们的产生为人们的出游提供了 很多方便,只要游客提出要求,旅行社会尽量为他们考虑,合理安排好各条路线和相关 行程。当然,新兴的行业虽然有很强的生命力,但是在上述的服务中仍存在很多的不足 。计算机科学日渐成熟,它已进入人类社会的各个领域并发挥着越来越重要的作用,用 手工统计数据资料的工作方式正逐步离我们远去。丰富多彩的旅游景点需要一个合适的 管理系统来规,使得各项工作都能有条有理地进行。但是公司的部管理系统还不完善, 还在进行以人工统计和分配为主的工作,不但花费了人工,而且由于数据复杂往往难以 避免会出错,给企业造成一定的负面影响,降低了企业的工作效率。因此,在这个以计 算机网络技术为主流的时代,公司有必要开发一个完善的部管理系统提供给游客一个清 新友好的界面选择自己向往的旅游胜地。 二、 需求分析 旅游信息管理管理对于一家旅游公司来说是不可或缺的一部分,有一个完整的信息管 理系统不仅可以为公司系统管理用户信息,地域信息等等各项企业部的信息,还是旅游 企业直接面向大众交换旅游信息以及吸引游客的途径。同时也为旅游爱好者提供一个搜 索,查询,亦或者是分享详细旅游信息资料的平台。 随着科学技术的不断提高,计算机技术的不断发展,我们利用信息化手段管理信息资 源越来越方便,利用数据库的原理管理信息的优越性是远超于手工管理方式,本文主要 介绍了小型旅游数据库管理系统主体功能的设计与实现。 三、 数据库设计 使用的操作系统是Windows系列操作系统。使用的开发工具是Microsoft Visual Studio 2010,数据库是SQL Server Management Studio数据库。页面使用Visual C#.NET技术,采用Windows Forms控件。 3.1旅游管理系统图 3.2数据库设计 数据库旅游管理系统信息如表所示,本例使用的是SQL Server Management Studio数据库 四、 系统总体结构 旅游管理系统由主界面:游客登录查询、景区景点信息查询、工作人员登录。 4.1游客登录界面 4.1.1界面如图所示: 4.1.2游客登录界面中"提交"按钮的主要代码如下: private void button1_Click(object sender, EventArgs e) { string str = "server=127.0.0.1;database=旅游管理系统;Trusted_Connection=SSPI"; SqlConnection Conn = new SqlConnection(str); Conn.Open(); string sqlstring = "select * from [游客信息管理] where username= '" + textBox1.Text + "' and userpass= '" + textBox2.Text + "'"; SqlCommand cmd = new SqlCommand(sqlstring, Conn); cmd.CommandType = CommandType.Text; SqlDataReader sdr = cmd.ExecuteReader(); if (sdr.Read()) { label4.Text = "登陆成功,正在跳转!"; } else { label4.Text = "登陆失败!"; return; } { visitorForm subf = new visitorForm(); this.Hide(); subf.Show(); } } 以上提交代码主要实现了用户登录的主要功能,如果没有错误的话,界面将跳转至游 客信息查询界面。 4.2注册界面 4.2.1注册界面如图所示: 4.2.2注册界面中"添加"按钮中的主要代码如下: private void button1_Click(object sender, EventArgs e) { if (textBox1.Text.Trim() == "" "" comboBox1.Text.Trim() == "" "" textBox2.Text.Trim() == "" "" textBox3.Text.Trim() == "" "" textBox4.Text.Trim() =

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧