请教数据库语句
第一个问题:
行37出错
异常详细信息:
System.Data.OleDb.OleDbException: FROM 子句语法错误。
源错误:
行 35: DataTableCollection c1=d1.Tables;
行 36: DataTable table=new DataTable( "客观题 ");
行 37: a1.Fill(table);
行 38: c1.Add(table);
行 39: DataGrid1.DataSource=d1.Tables[0];
代码如下:private void Page_Load(object sender, System.EventArgs e)
{
string strconn= "ProvideR=Microsoft.Jet.OleDb.4.0; "+@ "data source= "+Server.MapPath( "../../jingping.mdb ");
OleDbConnection conn=new OleDbConnection(strconn);
conn.Open();
string sql= "select 题目,章节名 from 客观题,自测章节 where 客观题.chapid = 自测章节.chapid ";
OleDbCommand comm=new OleDbCommand(sql,conn);
comm.CommandType=CommandType.Text;
conn.Close();
OleDbDataAdapter a1=new OleDbDataAdapter();
DataSet d1=new DataSet();
a1.SelectCommand=comm;
DataTableCollection c1=d1.Tables;
DataTable table=new DataTable( "客观题 ");
a1.Fill(table);
c1.Add(table);
DataGrid1.DataSource=d1.Tables[0];
DataGrid1.DataBind();
}
可是我看不出这句话有什么错误。
第二个问题:
行85出错:异常详细信息: System.Data.OleDb.OleDbException:
操作必须使用一个可更新的查询。
源错误:
行 83: OleDbCommand comm1=new OleDbCommand(sql,conn1);
行 84: comm1.CommandType=CommandType.Text;
行 85: comm1.ExecuteNonQuery();
行 86: conn1.Close();
行 87: Response.Write( "ok ");
代码如下:
string tixing1=tixing.SelectedValue;
string timu1=timu.Text.Trim();
string ans01=ans1.Text.Trim();
string ans02=ans2.Text.Trim();
string ans03=ans3.Text.Trim();
string ans04=ans4.Text.Trim();
string keans1=keans.SelectedValue;
// string zhuans1=zhuans.Text.Trim();
string charp1=charp.SelectedValue;
if(tixing1== "客观题 ")
{
string str= "Provider=Microsoft.Jet.OleDb.4.0; "+@ "Data Source= "+Server.MapPath( "../../jingping.mdb ");
OleDbConnection conn1=new OleDbConnection(str);
conn1.Open();
string sql= "insert into keguanti(timu,ans1,ans2,ans3,ans4) values( ' "+timu1+ " ', ' "+ans01+ " ', ' "+ans02+ " ', ' "+ans03+ " ', ' "+ans04+ " ') ";
OleDbCommand comm1=new OleDbCommand(sql,conn1);
comm1.CommandType=CommandType.Text;
comm1.ExecuteNonQuery();
conn1.Close();
Response.Write( "ok ");
}
else
{
Response.Write(tixing1);
}
弄了很久都没弄好,请高手指点一下。