异常详细信息: System.InvalidOperationException: ConnectionString 属性尚未初始化。源错误: 
行 100: SqlConnection myConnection = new SqlConnection();
行 101: SqlCommand myCommand = new SqlCommand(updateCmd,myConnection);
行 102: myCommand.Connection.Open();
行 103: try
行 104: {
 

解决方案 »

  1.   

    您的 connecting string 写了没?
      

  2.   

    this.sqlConnection1.ConnectionString = "workstation id=你的id;packet size=4096;integrated security=SSPI;persist security info=False";
      

  3.   

    加了就没有错了,不过记录却没写进去。代码如下:
    大哥帮我解决了,我另开帖子送分。string strconn="server=localhost;uid=sa;pwd=;database=keyan";
    string strUpdate="";
    strUpdate+="xm='"+((TextBox)e.Item.Cells[1].Controls[0]).Text+"'";
    strUpdate+=",xb='"+((TextBox)e.Item.Cells[2].Controls[0]).Text+"'";
    strUpdate+=",mz='"+((TextBox)e.Item.Cells[3].Controls[0]).Text+"'";
    strUpdate+=",zzmm='"+((TextBox)e.Item.Cells[4].Controls[0]).Text+"'";
    strUpdate+=",zc='"+((TextBox)e.Item.Cells[5].Controls[0]).Text+"'";
    strUpdate+=",szbm='"+((TextBox)e.Item.Cells[6].Controls[0]).Text+"'";
    string updateCmd="Update Teacher set "+strUpdate+" where xm like '"+((TextBox)e.Item.Cells[1].Controls[0]).Text+"'";
    SqlConnection myConnection = new SqlConnection();
    myConnection.ConnectionString=strconn;
    SqlCommand myCommand = new SqlCommand(updateCmd,myConnection);
    myCommand.Connection.Open();
    try
    {
    myCommand.ExecuteNonQuery();
    DataGrid1.EditItemIndex=-1;
    Response.Write("<script language='javascript'>alert('更新记录成功!')</script>");
    }
    catch
    {
    Response.Write("<script language='javascript'>alert('未能更新记录,请确保正确填写了字段!')</script>");
    }
    DataGrid1.DataBind();
      

  4.   

    另为什么在pageload里写了,这里还要写一遍connecting string ?
      

  5.   

    写到cell里面怎么可以呢》??
    一般来说DG要绑定DataSet中的,你要通过改变DataSet才可以修改数据!
      

  6.   

    一个例子,和你的大同小异:
    using System ;
    using System.Drawing ;
    using System.ComponentModel ;
    using System.Windows.Forms ;
    using System.Data.OleDb ;
    using System.Data ;public class Data : Form 
    {
    private System.ComponentModel.Container components = null ;
    private Button lastrec ;
    private Button nextrec ;
    private Button previousrec ;
    private Button firstrec ;
    private TextBox t_books ;
    private TextBox t_nl ;
    private ComboBox t_xb ;
    private TextBox t_xm ;
    private TextBox t_id ;
    private Label l_books ;
    private Label l_nl ;
    private Label l_xb ;
    private Label l_xm ;
    private Label l_id ;
    private Label label1 ;
    private DataSet myDataSet ;
    private Button button1 ;
    private Button button2 ;
    private Button button3 ;
    private Button button4 ;
    private BindingManagerBase myBind ; public Data ( ) 
    {
    file://连接到一个数据库
    GetConnected ( ) ; 
    // 对窗体中所需要的内容进行初始化
    InitializeComponent ( ) ;
    }
    file://清除在程序中使用过的资源
    protected override void Dispose( bool disposing )
    {
    if( disposing )
    {
    if ( components != null ) 
    {
    components.Dispose ( ) ;
    }
    }
    base.Dispose( disposing ) ;
    }
    public static void Main ( ) 
    {
    Application.Run ( new Data ( ) ) ;
    }
    public void GetConnected ( )
    {
    try
    {
    file://创建一个 OleDbConnection
    string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = db.mdb" ;
    OleDbConnection myConn = new OleDbConnection ( strCon ) ;
    string strCom = " SELECT * FROM person " ;
    file://创建一个 DataSet
    myDataSet = new DataSet ( ) ;myConn.Open ( ) ;
    file://用 OleDbDataAdapter 得到一个数据集
    OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom , myConn ) ;
    file://把Dataset绑定books数据表
    myCommand.Fill ( myDataSet , "person" ) ;
    file://关闭此OleDbConnection
    myConn.Close ( ) ;
    }
    catch ( Exception e )
    {
    MessageBox.Show ( "连接错误! " + e.ToString ( ) , "错误" ) ; 
    }

    private void InitializeComponent ( )
    {file://添加控件,略this.Name = "Data" ;
    this.Text = "Visual C#的数据库编程!" ;
    this.ResumeLayout(false) ;
    myBind = this.BindingContext [ myDataSet , "person" ] ;
    }
    protected void New_record ( object sender , System.EventArgs e )
    {t_id.Text = ( myBind.Count + 1 ).ToString ( ) ;
    t_xm.Text = "" ;
    t_xb.Text = "" ;
    t_nl.Text = "" ;
    t_books.Text = "" ;}
    protected void Insert_record ( object sender , System.EventArgs e )
    {
    try
    {
    file://判断所有字段是否添完,添完则执行,反之弹出提示 
    if ( t_id.Text != "" && t_xm.Text != "" && t_xb.Text != "" && t_nl.Text != "" && t_books.Text != "" )
    {
    string myConn1 = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = db.mdb" ;
    OleDbConnection myConn = new OleDbConnection ( myConn1 ) ;
    myConn.Open ( ) ;
    string strInsert = " INSERT INTO person ( id , xm , xb , nl , zip ) VALUES ( " ;
    strInsert += t_id.Text + ", '" ;
    strInsert += t_xm.Text + "', '" ;
    strInsert += t_xb.Text + "', " ;
    strInsert += t_nl.Text + ", " ;
    strInsert += t_books.Text + ")" ;
    OleDbCommand inst = new OleDbCommand ( strInsert , myConn ) ;
    inst.ExecuteNonQuery ( ) ;
    myConn.Close ( ) ;
    myDataSet.Tables [ "person" ] . Rows [ myBind.Position ] . BeginEdit ( ) ;
    myDataSet.Tables [ "person" ] . Rows [ myBind.Position ] . EndEdit ( ) ;
    myDataSet.Tables [ "person" ] . AcceptChanges ( ) ;
    }
    else
    {
    MessageBox.Show ( "必须填满所有字段值!" , "错误!" ) ;
    }
    }
    catch ( Exception ed )
    {
    MessageBox.Show ( "保存数据记录发生 " + ed.ToString ( ) , "错误!" ) ;

    }protected void Update_record ( object sender , System.EventArgs e )
    {
    int i = myBind.Position ;
    try{
    file://连接到一个数据库
    string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = db.mdb " ;
    OleDbConnection myConn = new OleDbConnection ( strCon ) ;
    myConn.Open ( ) ;
    myDataSet.Tables [ "person" ] . Rows [ myBind.Position ] . BeginEdit ( ) ;
    file://从数据库中修改指定记录
    string strUpdt = " UPDATE person SET xm = '"
    + t_xm.Text + "' , xb = '"
    + t_xb.Text + "' , nl = "
    + t_nl.Text + " , zip = "
    + t_books.Text + " WHERE id = " + t_id.Text ;
    OleDbCommand myCommand = new OleDbCommand ( strUpdt , myConn ) ;
    myCommand.ExecuteNonQuery ( ) ; 
    myDataSet.Tables [ "person" ] . Rows [ myBind.Position ] . EndEdit ( ) ;
    myDataSet.Tables [ "person" ] . AcceptChanges ( ) ;
    myConn.Close ( ) ;
    }
    catch ( Exception ed )
    {
    MessageBox.Show ( "修改指定记录错误: " + ed.ToString ( ) , "错误!" ) ; 
    }
    myBind.Position = i ;
    }
    protected void Delete_record ( object sender , System.EventArgs e )

    DialogResult r = MessageBox.Show ( "是否删除当前记录!" , "删除当前记录!" , MessageBoxButtons.YesNo , MessageBoxIcon.Question ) ;
    int ss = ( int ) r ;
      if ( ss == 6 ) // 按动"确定"按钮

    try{
    file://连接到一个数据库
    string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = db.mdb " ;
    OleDbConnection myConn = new OleDbConnection ( strCon ) ;
    myConn.Open ( ) ;
    string strDele = "DELETE FROM person WHERE id= " + t_id.Text ;
    OleDbCommand myCommand = new OleDbCommand ( strDele , myConn ) ;
    file://从数据库中删除指定记录
    myCommand.ExecuteNonQuery ( ) ;
    file://从DataSet中删除指定记录
    myDataSet.Tables [ "person" ] . Rows [ myBind.Position ] . Delete ( ) ;
    myDataSet.Tables [ "person" ] . AcceptChanges ( ) ;
    myConn.Close ( ) ;
    }
    catch ( Exception ed )
    {
    MessageBox.Show ( "删除记录错误信息: " + ed.ToString ( ) , "错误!" ) ;

    }
    }file://按钮"尾记录"对象事件程序 
    protected void GoLast ( object sender , System.EventArgs e )
    {
    myBind.Position = myBind.Count - 1 ;
    }file://按钮"下一条"对象事件程序 
    protected void GoNext ( object sender , System.EventArgs e )
    {
    if ( myBind.Position == myBind.Count -1 )
    MessageBox.Show ( "已经到了最后一条记录!", "信息提示!" , MessageBoxButtons.OK , MessageBoxIcon.Information ) ;
    else
    myBind.Position += 1 ;
    }
    file://按钮"上一条"对象事件程序 
    protected void GoPrevious ( object sender , System.EventArgs e )
    {
    if ( myBind.Position == 0 ) 
    MessageBox.Show ( "已经到了第一条记录!" , "信息提示!" , MessageBoxButtons.OK , MessageBoxIcon.Information ) ;
    else
    myBind.Position -= 1 ;
    }
    file://按钮"首记录"对象事件程序
    protected void GoFirst ( object sender , System.EventArgs e )
    {
    myBind.Position = 0 ;
    }
    }
    注:来源Yesky
      

  7.   

    听你的说法好像是数据库能连上只是记录进不去吧?我觉得应该是你拼凑的字符串有问题。你下断点,把字符串的值取出来。放到SQL的查询分析器中。就可以看到是不是有错,错误在哪。
    在catch块中这样写
    catch(Exception ex)
    {
        MessageBox .Show(ex.Message);
    }
    能得到你的错误信息