我的ACCSEE只要保存数据后就在行中出现 “#错误”,弹出对话框“无效标签”,“无法识别的数据库”,然后数据自动被删除了,
private OleDbConnection Connection;
private OleDbDataAdapter DataAdapter;
private OleDbCommandBuilder Builder;
private DataSet Ds;
public Form2()
{
InitializeComponent();
Connection = new OleDbConnection(MyDepot.Properties.Settings.Default.MydeportConnectionString);
Connection.Open();
DataAdapter = new OleDbDataAdapter("select * from [DEPORT]", Connection);
DataAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
Builder = new OleDbCommandBuilder(DataAdapter);
Builder.QuotePrefix = "[";
Builder.QuoteSuffix = "]";
Ds = new DataSet();
DataAdapter.Fill(Ds, "DEPORT");
Connection.Close();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void 信息添加ToolStripMenuItem_Click(object sender, EventArgs e)
{
AddInfo Add = new AddInfo();
this.userControl11.ControlAdd(Add,"信息添加");
Add.ShowTable = Ds.Tables[0];
Add.UpDateSql += new AddInfo.UpdateSql(ThisUp);
}
private void ThisUp()
{
DataAdapter.Update(Ds, "DEPORT");
}
UserControl1中代码
public partial class AddInfo : UserControl
{
private DataTable DTable;
public delegate void UpdateSql();
public UpdateSql UpDateSql;
public AddInfo()
{
InitializeComponent();
this.BackColor = Color.White;
}
private void AddInfo_Load(object sender, EventArgs e)
{
}
public DataTable ShowTable
{
get { return DTable; }
set
{
DTable=value;
dataGridView1.DataSource = value;
}
}
private void button1_Click(object sender, EventArgs e)
{
DataRow dr = DTable.NewRow();
dr[0] = mytextBox1.TextBoxString;
dr[1] = mytextBox2.TextBoxString;
dr[2] = mytextBox3.TextBoxString;
dr[3] = mytextBox4.TextBoxString;
dr[4] = mytextBox5.TextBoxString;
dr[5] = mytextBox6.TextBoxString;
dr[6] = mytextBox7.TextBoxString;
dr[7] = mytextBox8.TextBoxString;
dr[8] = mytextBox9.TextBoxString;
DTable.Rows.Add(dr);
}
private void button2_Click(object sender, EventArgs e)
{
UpDateSql();
//OleDbConnection Connection = new OleDbConnection(MyDepot.Properties.Settings.Default.MydeportConnectionString);
// Connection.Open();
// SqlCommand cmd = new SqlCommand("delete from DEPORT WHERE [DE-ID]='2'",Connection);
//cmd.ExecuteNonQuery();
// Connection.Close();
}
private void button3_Click(object sender, EventArgs e)
{
this.mytextBox1.TextBoxString = "";
this.mytextBox2.TextBoxString = "";
this.mytextBox3.TextBoxString = "";
this.mytextBox4.TextBoxString = "";
this.mytextBox5.TextBoxString = "";
this.mytextBox6.TextBoxString = "";
this.mytextBox7.TextBoxString = "";
this.mytextBox8.TextBoxString = "";
this.mytextBox9.TextBoxString = "";
}
private void button4_Click(object sender, EventArgs e)
{
foreach (DataGridViewRow DGRow in this.dataGridView1.SelectedRows)
{
dataGridView1.Rows.Remove(DGRow);
}
}
请大家指教!谢谢!