其他信息: 必须声明变量 '@sno'。 请问什么原因 ?谢谢
OleDbConnection   con   =   new   OleDbConnection( "Provider=SQLOLEDB.1;Integrated   Security=SSPI;Persist   Security   Info=False;User   ID=sa;Initial   Catalog=test;Data   Source=DM "); 
                                     string   sql   =    "insert   into   stu   (   stu_sno,stu_sname)   values(   @sno,@sname   ) "; 
                                     //string   sql   =    "delete   from   stu "; 
                                     OleDbCommand   com   =   new   OleDbCommand(   sql,   con   ); 
                                     com.Parameters.Add( "@sno ",   SqlDbType.Int); 
                                     com.Parameters[ "@sno "].Value   =   12;//   System.Convert.ToInt32(this.textBox1.Text); 
                                     com.Parameters.Add( "@sname ",   SqlDbType.NVarChar); 
                                     com.Parameters.AddWithValue( "@sname ",   this.textBox2.Text); 
                                     com.Parameters[ "@sname "].Value   =   this.textBox2.Text;   
                                     OleDbDataAdapter   ada   =   new   OleDbDataAdapter(); 
                                     ds   =   new   DataSet(); 
                                     //ada.SelectCommand.CommandText   =    "select   *   from   stu "; 
                                     con.Open(); 
                                     com.ExecuteNonQuery(); 
                                     ada.Fill(ds,    "studentinfo "); 
                                     con.Close();   
 执行到      com.ExecuteNonQuery(); 
 就发生异常      
 未处理的“
System.Data.OleDb.OleDbException”类型的异常出现在   System.Data.dll   中。   
 其他信息:   必须声明变量    '@sno '。   
 请问什么原因   ?谢谢    
------解决方案--------------------你用的是OleDb的方式...   
 代码要这样改 
 string sql =  "insert into stu (stu_sno,stu_sname) values(?,?) "; 
 OleDbCommand com = new OleDbCommand(sql, con); 
 com.Parameters.Add( "? ", SqlDbType.Int).Value = 11; 
 com.Parameters.Add( "? ", SqlDbType.NVarChar).Value =  "abc "; 
 con.Open(); 
 com.ExecuteNonQuery(); 
 con.Close();