我对c#相对陌生,我在大学里从事一项工作,包括验证交换机,我现在在CRUD中工作,为数据网格视图中的一列编辑、创建和删除项目,所以这是我的问题。
为了将我的项目连接到数据库,我使用try-and-catch,但似乎我在连接中遇到了问题,每次我尝试编辑、删除或创建时,我都会从catch中得到一个错误,说";不是有效的文件名";。
private void button5_Click(object sender, EventArgs e)
{
string strcon = @"Provider = Microsoft.ACE.OLEDB.12.0; Data Source = " + Application.StartupPath + @"C:\Verificação de Quadros Elétricos\Verificação de Quadros Elétricos\Databaseteste.accdb";
string comando = "INSERT INTO Tabela Normas (Drills(according tto the norm EN 61439)values(@Drills(according tto the norm EN 61439))";
OleDbConnection con = new OleDbConnection(strcon);
OleDbCommand com = new OleDbCommand(comando, con);
com.Parameters.Add("@Drills(according tto the norm EN 61439)", OleDbType.VarChar).Value = textBox5.Text;
try
{
con.Open();
com.ExecuteNonQuery();
MessageBox.Show("Save Well Succeded !");
}
catch (Exception E)
{
MessageBox.Show(E.Message);
}
finally
{
con.Close();
}
}
下面是在列中创建一个新项目的代码,感谢您抽出时间。
代码中有一件事引起了我的注意,可能意味着数据库出了问题。
错误
数据库上的这个x是否意味着它没有连接?
(很抱歉,它看起来没有被理解为注释(
private void button5_Click(object sender, EventArgs e)
{
string strcon = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" +
@"C:DataDatabaseteste.accdb";
string comando = @"INSERT INTO [Tabela Normas]
([Drills(according to the norm EN 61439)])
values
(@Drills)";
using (OleDbConnection con = new OleDbConnection(strcon))
using (OleDbCommand com = new OleDbCommand(comando, con))
{
com.Parameters.Add("@Drills", OleDbType.VarChar).Value = textBox5.Text;
try
{
con.Open();
com.ExecuteNonQuery();
MessageBox.Show("Save Well Succeded !");
}
catch (Exception E)
{
MessageBox.Show(E.Message);
}
}
}
PS:如果Application.StartupPath位于"程序文件"下,则该位置为只读。记住这一点。