MySqlTransaction tran = DefSqlCon.BeginTransaction();
            DefSqlCon.Open();
            MySqlCommand sqlcmd = new MySqlCommand(sql, DefSqlCon);
            sqlcmd.Transaction = tran;
改称
DefSqlCon.Open();
MySqlTransaction tran = DefSqlCon.BeginTransaction();
            
            MySqlCommand sqlcmd = new MySqlCommand(sql, DefSqlCon);
            sqlcmd.Transaction = tran;

解决方案 »

  1.   

    MySqlTransaction tran = DefSqlCon.BeginTransaction(); 
    应该是这句,你没有开始事务,然后在后面用
    tran.Commit();是不可以的!
      

  2.   

    MySql.Data.MySqlClient.MySqlException: Unknown column 'newid' in 'field list' 在 MySql.Data.MySqlClient.MySqlStream.OpenPacket()
    [WebMethod]
        public string InsertData(string newid title content)
        {
            try
            {
          
                string result = "";
       
                string sql = "insert into t1(newid title) values ('" + newid + "','" + title + "')";
                string sql1 = "insert into t2(newid content) values ('" + newid + "','" + content + "')";
                MySqlConnection DefSqlCon = new MySqlConnection("server=192.168.0.1;user id=net;password=123;database=test");
         DefSqlCon.Open(); //放在这就可以了,呵呵,是不是不能同时插入两个表啊?提示错误
                MySqlTransaction tran = DefSqlCon.BeginTransaction();
                
                MySqlCommand sqlcmd = new MySqlCommand(sql, DefSqlCon);
                sqlcmd.Transaction = tran;
                sqlcmd.Connection = DefSqlCon;
                sqlcmd.ExecuteNonQuery();
      
                MySqlCommand sqlcmd1 = new MySqlCommand(sql1, DefSqlCon);
                sqlcmd1.Transaction = tran;
                sqlcmd1.Connection = DefSqlCon;
                sqlcmd1.ExecuteNonQuery();
        
                tran.Commit();
         
                result = "1";
                return result;