我是OleDb库的新手,我希望使用此库将文本表单文本框添加到数据库中。 我的代码:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private OleDbConnection conn = new OleDbConnection();
private void button1_Click(object sender, EventArgs e)
{
conn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Project\Learning\Visual C#\Form\WindowsFormsApplication1\WindowsFormsApplication1\Test.mdb";
string NAME = textBox1.Text;
conn.Open();
OleDbCommand cmmd = new OleDbCommand("INSERT into student(NAME)" + "VALUES(@NAME)", conn);
if (conn.State == ConnectionState.Open)
{
cmmd.Parameters.Add("@NAME", OleDbType.Char, 20);
cmmd.Parameters["@NAME"].Value = NAME;
try
{
cmmd.ExecuteNonQuery();
MessageBox.Show("DATA ADDED");
conn.Close();
}
catch (OleDbException expe)
{
MessageBox.Show(expe.Source);
}
}
else
{
MessageBox.Show("CON FAILED");
}
}
}
但它不起作用。 我在C#中找不到 OleDbCommand 的好参考 如何在我的代码中使用 OleDbCommand ?
答案 0 :(得分:5)
解决
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Project\Learning\Visual C#\Form\WindowsFormsApplication2\WindowsFormsApplication2\Test.mdb";
conn.Open();
string Name = textBox1.Text;
OleDbCommand cmmd = new OleDbCommand("INSERT INTO table1 (student) Values(@Name)", conn);
if (conn.State == ConnectionState.Open)
{
cmmd.Parameters.Add("@Name", OleDbType.VarWChar, 20).Value = Name;
try
{
cmmd.ExecuteNonQuery();
MessageBox.Show("DATA ADDED");
conn.Close();
}
catch (OleDbException expe)
{
MessageBox.Show(expe.Message);
conn.Close();
}
}
else
{
MessageBox.Show("CON FAILED");
}
}
答案 1 :(得分:3)
可能这段代码可以帮到你
OleDbConnection dbConnection = new OleDbConnection(CONNECTION_STRING);
string commandString =
"INSERT INTO MeetingEntries (Subject, Location, Start Date, End Date, Enable Alarm, Repeat Alarm, Reminder, Repetition Type)" + " VALUES (?, ?, ?, ?, ?, ?, ?, ?)";
OleDbCommand commandStatement = new OleDbCommand(commandString, dbConnection);
commandStatement.Parameters.Add("@Subject", OleDbType.VarWChar, 30).Value = currentEntry.Subject;
commandStatement.Parameters.Add("@Location", OleDbType.VarWChar, 50).Value = currentEntry.Location;
commandStatement.Parameters.Add("@Start Date", OleDbType.Date, 40).Value = currentEntry.StartDateTime.Date;
commandStatement.Parameters.Add("@End Date", OleDbType.Date, 40).Value = currentEntry.EndDateTime.Date;
commandStatement.Parameters.Add("@Enable Alarm", OleDbType.Boolean, 1).Value = currentEntry.IsAlarmEnabled;
commandStatement.Parameters.Add("@Repeat Alarm", OleDbType.Boolean, 1).Value = currentEntry.IsAlarmRepeated;
commandStatement.Parameters.Add("@Reminder", OleDbType.Integer, 2).Value = currentEntry.Reminder;
commandStatement.Parameters.Add("@Repetition Type", OleDbType.VarWChar, 10).Value = currentEntry.Repetition;
dbConnection.Open();
commandStatement.ExecuteNonQuery();