C# MS Access 数据库连接 System.Data.SqlClient.SqlException' 发生在 System.Data.dll

标签 c# ms-access ms-access-2010 sqlconnection

我不确定这个问题是否与我的代码有关,或者仅仅是我的数据库设置方式有关。任何指针都会很棒!

这是我收到的错误消息:

enter image description here

我已经转到“修改连接”并使用了“测试连接”工具,它说它连接正常,但是当实际程序运行时没有任何反应,我得到了错误。

这是我的代码:

    private void btnAddCustomer_Click(object sender, EventArgs e)
    {
    SqlConnection CustomerInfo = new SqlConnection("Data Source=C:\\Users\\Cory\\Desktop\\DeluxWrapsWindows\\DeluxWrapsWindows\\DeluxWraps_DB.mdb");
    { 
    SqlCommand xp = new SqlCommand("Insert into CustomerInfo(LastName, FirstName, Email, PhoneNumber, Address, Instagram, CarMake, CarModel, AdditionalNotes) Values(@LastName, @Firstname, @Email, @PhoneNumber, @Address, @Instagram, @CarMake, @CarModel, @AdditionalNotes)", CustomerInfo);

     xp.Parameters.AddWithValue("@LastName", txtLastName.Text);
     xp.Parameters.AddWithValue("@FirstName", txtFirstName.Text);
     xp.Parameters.AddWithValue("@Email", txtEmail.Text);
     xp.Parameters.AddWithValue("@PhoneNumber", txtPhoneNumber.Text);
     xp.Parameters.AddWithValue("@Address", txtAddress.Text);
     xp.Parameters.AddWithValue("@Instagram", txtInstagram.Text);
     xp.Parameters.AddWithValue("@Carmake", txtCarMake.Text);
     xp.Parameters.AddWithValue("@CarModel", txtCarModel.Text);
     xp.Parameters.AddWithValue("@AdditionalNotes", txtAdditionalNotes.Text);

     CustomerInfo.Open();
     xp.ExecuteNonQuery();
     CustomerInfo.Close();

    }
}

最佳答案

您应该尝试创建 SqlCommand:

SqlCommand xp = CustomerInfo.CreateCommand();

看这个例子:

https://msdn.microsoft.com/pt-br/library/system.data.sqlclient.sqlconnection.createcommand(v=vs.110).aspx

更新:

尝试使用 OleDbConnection。参见:

public DataSet GetDataSetFromAdapter(
    DataSet dataSet, string connectionString, string queryString)
{
    using (OleDbConnection connection =
               new OleDbConnection(connectionString))
    {
        OleDbDataAdapter adapter =
            new OleDbDataAdapter(queryString, connection);

        // Set the parameters.
        adapter.SelectCommand.Parameters.Add(
            "@CategoryName", OleDbType.VarChar, 80).Value = "toasters";
        adapter.SelectCommand.Parameters.Add(
            "@SerialNum", OleDbType.Integer).Value = 239;

        // Open the connection and fill the DataSet. 
        try
        {
            connection.Open();
            adapter.Fill(dataSet);
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        // The connection is automatically closed when the 
        // code exits the using block.
    }
    return dataSet;
}

查看更多详细信息:https://msdn.microsoft.com/en-us/library/System.Data.OleDb.OleDbParameterCollection(v=vs.110).aspx

关于C# MS Access 数据库连接 System.Data.SqlClient.SqlException' 发生在 System.Data.dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28821508/

相关文章:

c# - VS2015升级后的垃圾回收和Parallel.ForEach问题

vba - 如何使用 VBA 关闭当前打开的 MsgBox?

mysql - 使用 DSN ODBC 2 连接到 ONLINE MySQL 数据库

ms-access - 可以在表单加载之前在 vba 中设置绑定(bind)查询的参数吗?

sharepoint - SharePoint 2010 和 MS Access 2010 的数据更新错误

vba - 使用 VBA 以编程方式删除 Access 宏

c# - 如何读取本地cookie

c# - 如何为使用 visual studio Installer 创建的安装项目的桌面快捷方式设置图标?

ms-access - 上个月的查询/表达式

c# - jQuery .load 似乎在意想不到的地方运行