在asp.net中怎样向数据库里面插入记录?insert语句怎么写?

时间:2022-09-08 15:12:03
string subject=TextBox1.Text;
       string student=TextBox2.Text;
       string content=TextBox3.Text;
       string teacher=Request.QueryString["teacher"];
       string date=DateTime.Now.ToString();
       
       string insert= " INSERT INTO content(student ,date ,    subject ,content,teacher) VALUES ('" ;
     insert += student + "', '" ;
     insert += date + "', '" ;
              insert += subject + "', '" ;
              insert += content + "', '" ;
              insert += teacher + "') " ;
 
       OleDbConnection conn=new OleDbConnection();
       conn.ConnectionString="Provider = Microsoft.Jet.OLEDB.4.0;  Data Source ="+Server.MapPath("bbs.mdb");
       conn.Open();

       OleDbCommand comm=new OleDbCommand();
       comm.CommandText=insert;
       comm.Connection=conn;
       comm.ExecuteNonQuery();
       conn.Close();
报错是异常详细信息: System.Data.OleDb.OleDbException: INSERT INTO 语句的语法错误。
为什么啊?

9 个解决方案

#1


date是保留字,不允许使用,换个字段名!

#2


string subject=TextBox1.Text;
       string student=TextBox2.Text;
       string content=TextBox3.Text;
       string teacher=Request.QueryString["teacher"];
       string Strdate=DateTime.Now.ToString();
       
       string insert= " INSERT INTO content(student ,[date] ,    subject ,content,teacher) VALUES ('" ;
     insert += student + "', '" ;
     insert += Strdate + "', '" ;
              insert += subject + "', '" ;
              insert += content + "', '" ;
              insert += teacher + "') " ;
 
       OleDbConnection conn=new OleDbConnection();
       conn.ConnectionString="Provider = Microsoft.Jet.OLEDB.4.0;  Data Source ="+Server.MapPath("bbs.mdb");
       conn.Open();

       OleDbCommand comm=new OleDbCommand();
       comm.CommandText=insert;
       comm.Connection=conn;
       comm.ExecuteNonQuery();
       conn.Close();

#3


保留字加个[]就OK!

#4


#5


sqlConnection1.Open();

string insertstring="insert into reply(postid,name,email)values(";
insertstring+="@postid,@name,@email)";
SqlCommand sc=new SqlCommand(insertstring,sqlConnection1);

//postid
SqlParameter ppostid=new SqlParameter("@postid",SqlDbType.Char,4);
ppostid.Value=Textbox1.Text;
sc.Parameters.Add(ppostid);

//name
SqlParameter pname=new SqlParameter("@name",SqlDbType.Char,10);
pname.Value=TextBox2.Text.Trim();
sc.Parameters.Add(pname);

//email
SqlParameter pemail=new SqlParameter("@email",SqlDbType.Char,20);
pemail.Value=TextBox3.Text.ToString();
sc.Parameters.Add(pemail);

sc.ExecuteNonQuery();
sqlConnection1.Close();

#6


对阿,把date 换成time或者是now

#7


对阿,把date 换成time或者是now

#8


保留字好象做字段名也不会报错的吧!

#9


换了date

#1


date是保留字,不允许使用,换个字段名!

#2


string subject=TextBox1.Text;
       string student=TextBox2.Text;
       string content=TextBox3.Text;
       string teacher=Request.QueryString["teacher"];
       string Strdate=DateTime.Now.ToString();
       
       string insert= " INSERT INTO content(student ,[date] ,    subject ,content,teacher) VALUES ('" ;
     insert += student + "', '" ;
     insert += Strdate + "', '" ;
              insert += subject + "', '" ;
              insert += content + "', '" ;
              insert += teacher + "') " ;
 
       OleDbConnection conn=new OleDbConnection();
       conn.ConnectionString="Provider = Microsoft.Jet.OLEDB.4.0;  Data Source ="+Server.MapPath("bbs.mdb");
       conn.Open();

       OleDbCommand comm=new OleDbCommand();
       comm.CommandText=insert;
       comm.Connection=conn;
       comm.ExecuteNonQuery();
       conn.Close();

#3


保留字加个[]就OK!

#4


#5


sqlConnection1.Open();

string insertstring="insert into reply(postid,name,email)values(";
insertstring+="@postid,@name,@email)";
SqlCommand sc=new SqlCommand(insertstring,sqlConnection1);

//postid
SqlParameter ppostid=new SqlParameter("@postid",SqlDbType.Char,4);
ppostid.Value=Textbox1.Text;
sc.Parameters.Add(ppostid);

//name
SqlParameter pname=new SqlParameter("@name",SqlDbType.Char,10);
pname.Value=TextBox2.Text.Trim();
sc.Parameters.Add(pname);

//email
SqlParameter pemail=new SqlParameter("@email",SqlDbType.Char,20);
pemail.Value=TextBox3.Text.ToString();
sc.Parameters.Add(pemail);

sc.ExecuteNonQuery();
sqlConnection1.Close();

#6


对阿,把date 换成time或者是now

#7


对阿,把date 换成time或者是now

#8


保留字好象做字段名也不会报错的吧!

#9


换了date