SQLServer 的临时表分2种,你用的这种,只对当前的连接有效,
另外一种是全局临时表,对所有的连接用户都有效但它们都是在在连接断开后自动删除掉
所以在第1个SP中创建的在第2中是不能使用的像你的情况还是用数据表吧。

解决方案 »

  1.   

    你先把存储过程改为SQL再运行试试,有可能是存储过程的问题。
      

  2.   

    不是所有的Sql语句都要通过SqlAdapter来执行
    你这样尝试一下,-------------------- MySqlAdapter.InsertCommand = myCm;
    MySqlAdapter.InsertCommand.CommandText ="pro_raddprice";
     Myapter.InsertCommand.CommandType=CommandType.StoredProcedure;

    SqlParameter p1 = new SqlParameter("@tnf3", SqlDbType.Char,14);
    p1.SourceVersion = DataRowVersion.Current;
    p1.SourceColumn = myda.Columns[0].ColumnName;
    MySqlAdapter.InsertCommand.Parameters.Add(p1);
    MySqlAdapter.Update(myda);
    -------------------
    部分注释掉
    直接用SqlCommand来执行第一个存储过程
      

  3.   

    请教 brightheroes(闭关|那一剑的风情):因为我是要把一个datatable填入到临时表的,请问不使用MySqlAdapter.Update(myda),用SqlCommand如何来实现
      

  4.   

    首先,你不能用临时表
    这点确定之后再考虑其他的问题SqlCommand com = new SqlCommand(yourSqlText,yourConncection);
    com.CommandType=CommandType.StoredProcedure;
    ...............
    yourConncection.Open();
    com.ExecuteNoQuary();
    yourConncection.Close();
      

  5.   

    谢谢 brightheroes(闭关|那一剑的风情),但我想到一个方法,就是不用存储过和,而是在.net直接写SQL语句,就可以通过MySqlAdapter获得临时表的内容。
      

  6.   

    其实要说的就是
    不是所有的sql语句都要跟SqlAdapter产生关系
    如此而已
      

  7.   

    最后使用SQLCOMMAND+SqlAdapter+SQL语句解决问题,没有使用存储过程