繁体   English   中英

使用C#连接到SQL Server 2008数据库

[英]Connecting to sql server 2008 database using C#

我尝试使用连接字符串进行连接,但出现以下错误:“初始化字符串的格式不符合从索引0开始的规范。”

这是我的代码:

   SqlConnection Con = new SqlConnection(@"C:\PROGRAM FILES\MICROSOFT SQL SERVER\MSSQL10.SQLEXPRESS\MSSQL\DATA\TARGIL3.MDF");
        SqlDataAdapter adapt = new SqlDataAdapter();
        adapt.InsertCommand = new SqlCommand(" INSERT INTO tblEmployee VALUES (@employeeNumber, @employeePrivateName, @employeeFamilyName ,@city, @street, @houseNo, @phoneNumber, @birthDate, @startWorkingDate)", Con);
        adapt.InsertCommand.Parameters.Add("@employeeNumber", SqlDbType.Char).Value = textBox1.Text;
        adapt.InsertCommand.Parameters.Add("@employeePrivateName", SqlDbType.VarChar).Value = textBox2.Text;
        adapt.InsertCommand.Parameters.Add("@employeeFamilyName", SqlDbType.VarChar).Value = textBox3.Text;
        adapt.InsertCommand.Parameters.Add("@city", SqlDbType.VarChar).Value = textBox4.Text;
        adapt.InsertCommand.Parameters.Add("@street", SqlDbType.VarChar).Value = textBox5.Text;
        adapt.InsertCommand.Parameters.Add("@houseNo", SqlDbType.Int).Value = textBox6.Text;
        adapt.InsertCommand.Parameters.Add("@phoneNumber", SqlDbType.Char).Value = textBox7.Text;
        adapt.InsertCommand.Parameters.Add("@birthDate", SqlDbType.DateTime).Value = Convert.ToDateTime(textBox8.Text);
        adapt.InsertCommand.Parameters.Add("@startWorkingDate", SqlDbType.DateTime).Value = Convert.ToDateTime(textBox8.Text);


        Con.Open();
        adapt.InsertCommand.ExecuteNonQuery();
        Con.Close();

您的连接字符串错误。 如果您使用SQL Server身份验证,则应采用以下形式:

Server=myServerAddress;Database=myDataBase;User Id=myUsername;
Password=myPassword;

其中, myServerAddress是运行SQL Server的计算机的IP或主机名。 如果是您的PC,则localhost可能会运行。

myUsernamemyPassword是连接到服务器的用户的凭据。

如果使用“受信任的连接”,则连接字符串应采用以下形式:

Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;

您可以在此处查看更多示例: http : //www.connectionstrings.com/sql-server/

您不能只在连接字符串中放入文件名

C:\PROGRAM FILES\MICROSOFT SQL SERVER\MSSQL10.SQLEXPRESS\MSSQL\DATA\TARGIL3.MDF

Sql Server通常是一个“服务”,您可以与该服务对话。

现在。 如果您使用的是“ Express”版本……那么您可能必须包括AttachDbFilename参数。

http://www.connectionstrings.com/sqlconnection/attach-a-database-file-on-connect-to-a-local-sql-server-express-instance-1/

Server=.\SQLExpress;AttachDbFilename=C:\MyFolder\MyDataFile.mdf;Database=dbname;
Trusted_Connection=Yes;

但是,如果您不使用“ Express”,则应该只放入有关Sql Server SERVICE的信息(机器\\实例名称等,等等),而不关心.MDF的物理路径。

SQL Server不是JET(访问)。 使用JET,您只需指定文件名。

如果仍然有问题,则应发布正在使用的SQL Server版本.....执行“选择@@ version”并报告该问题。

用这个:

string connString = "Data Source=SERVERNAME;Initial Catalog=DATABASENAME; User ID = USERNAME; Password=PASSWORD;Integrated Security=false";
SqlConnection Con = new SqlConnection(connString);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM