我有一个程序,它接收传递给它的信息并将信息放入数据库。该程序正在VS2008中为Windows Ce 6.0设备创建,并且无法连接到数据库。我想通过本地网络进行连接,但不完全知道如何操作。这是我调用数据库的函数的代码。尝试连接到SQL Server数据库时出现'SqlException was unhandled'错误
public void callSQL(string partNumber, int total, int numOfPacks, string dunsNumber, string serialNumber, string laneNumber)
{
//establish connection
string conString = "Data Source=10.97.2.67,1433;Initial Catalog=testing.mdf;User ID=**********;Persist Security Info=false";
using (SqlConnection con = new System.Data.SqlClient.SqlConnection(conString))
{
con.Open();
try
{
//open the server
//Insert values passed into the method
SqlCommand myCommand = new SqlCommand("INSERT INTO test (Part_Number, total, number_of_packs, dunsNumber, serialNumber, truck_number) VALUES (@Part_Number,@total,@number_of_packs,@dunsNumber,@serialNumber,@truck_number)", con);
myCommand.Parameters.AddWithValue("@Part_Number", partNumber);
myCommand.Parameters.AddWithValue("@total", total);
myCommand.Parameters.AddWithValue("@number_of_packs", numOfPacks);
myCommand.Parameters.AddWithValue("@dunsNumber", dunsNumber);
myCommand.Parameters.AddWithValue("@serialNumber", serialNumber);
myCommand.Parameters.AddWithValue("@truck_number", laneNumber);
//execute the query
myCommand.ExecuteNonQuery();
con.Close();
}
catch (SqlException e)
{
string error = e.ToString();
error = error.ToLower();
if (error.Contains("duplicate") == true)
{
Console.WriteLine("You have already scanned this barcode.");
}
}
}
}
当我运行代码时,代码停在con.Open();我得到它说
SqlException was unhandled
这里的错误是从错误的信息:
System.Data.SqlClient.SqlException {"SqlException"}
[System.Data.SqlClient.SqlException] {"SqlException"}
{Systen.Data.SqlClient.SqlErrorCOllection}
LineNumber 0
Message "SqlException"
Number 17
Procedure "ConnectionOpen(Connect())."
Server "10.97.2.67,1433"
Source ".Net SqlClient Data Provider"
StackTrace
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, TdsParserState state)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, TdsParserState state)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
at System.Data.SqlClient.TdsParser.Connect(String host, SqlInternalConnection connHandler, Int32 timeout)
at System.Data.SqlClient.SqlInternalConnection.OpenAndLogin()
at System.Data.SqlClient.SqlInternalConnection..ctor(SqlConnection connection, Hashtable connectionOptions)
at System.Data.SqlClient.SqlConnection.Open()
at scan.partObject.callSQL(String partNumber, Int32 total, Int32 numOfPacks, String dunsNumber, String serialNumber, String laneNumber)
at scan.Program.Main(String[] args)
感谢
初始目录可能不应该有.mdf文件。它应该只是数据库的名称。也可以尝试在catch块中设置断点,然后钻取错误集合以获取更多细节。 – BlackICE
@BlackICE即使没有.mdf我也得到完全相同的结果。通过钻取错误集合,你又是什么意思? – AlvinJ
你如何得到IP地址'10.97.2.67,1433' –