当前位置:编程学习 > C#/ASP.NET >>

写入数据库的问题~~~在线等

我接到一串指令~我用的是switch  case.   大概是这样 ·

case "CONN_ERROR_COM":  //     串口异常
                        robotSignal.RobotState = RobotStatus.ComErro;
                        /*
                         写入DB 
                         */
                        
                        break;

robotSignal.RobotState = RobotStatus.ComErro;  这一句就是获取到错误信息,

然后我要把这一句存到数据库Line这张表里的ErrorName字段里~

 下来应该怎么写啊~555,最好高手们能给个相应的代码·
--------------------编程问答-------------------- 等~~~~~~ --------------------编程问答--------------------

OleDbConnection   Conn   =   new   OleDbConnection(connString); 
Conn.Open(); 
string   strInsert   =   "INSERT   INTO   表名   (   字段1   ,   字段2   ,   字段3   ,   字段4  ,   字段5   )   VALUES   (  值1,值2,值3,值4,值5) "; 
OleDbCommand   inst   =   new   OleDbCommand(strInsert,   Conn); 
inst.ExecuteNonQuery();                                                               
Conn.Close(); 

--------------------编程问答-------------------- INSERT   INTO   Line (ErrorName) VALUES("这一句") --------------------编程问答--------------------
引用 2 楼 isjoe 的回复:
C# code

OleDbConnection   Conn   =   new   OleDbConnection(connString); 
Conn.Open(); 
string   strInsert   =   "INSERT   INTO   表名   (   字段1   ,   字段2   ,   字段3   ,   字段4  ,   字段5   )   VALUES  ……



这个DB数据库连接类,是别人写的,很乱的,找他的这个SQLCommand 都很费劲·写法也不知道他怎样的思路~

 我把你的这个另写个方法? 然后再Case里面调用一下可否? --------------------编程问答-------------------- 我写了一个方法~
      public void  AddLine()
        {
            SqlConnection conn = new SqlConnection();
            conn.Open();
            string strInsert = "insert into Line (Error) value (@Error)";
            SqlCommand inst = new SqlCommand(strInsert, conn);
            inst.ExecuteNonQuery();
            conn.Close();
        }

 那边的case是这样的

         case "CONN_ERROR_COM":  //     串口异常
                        robotSignal.RobotState = RobotStatus.ComErro;
                         LineService ls = new LineService();
                         ls.AddLine();
                        break;

 可是不行~~我。。 --------------------编程问答--------------------
引用 2 楼 isjoe 的回复:
C# code

OleDbConnection   Conn   =   new   OleDbConnection(connString); 
Conn.Open(); 
string   strInsert   =   "INSERT   INTO   表名   (   字段1   ,   字段2   ,   字段3   ,   字段4  ,   字段5   )   VALUES  ……


这条信息加不到数据库里~~~~~~~~~~~ --------------------编程问答-------------------- 你这个SqlConnection连接那个数据库实例。。。缺少ConnectionString
引用 5 楼 ww198714111 的回复:
我写了一个方法~
  public void AddLine()
  {
  SqlConnection conn = new SqlConnection();
  conn.Open();
  string strInsert = "insert into Line (Error) value (@Error)";
  SqlCommand inst = new SqlCommand……
--------------------编程问答-------------------- 快沉了· --------------------编程问答-------------------- 不懂,帮你顶起. --------------------编程问答-------------------- SqlConnection conn = new SqlConnection(“这里面连接数据库”);
就可以了
--------------------编程问答-------------------- 他的这个connString 
无非就是string connString= ConfigurationManager.ConnectionStrings["MyBookShop"].ConnectionString; 指向数据库


 
--------------------编程问答--------------------
引用 5 楼 ww198714111 的回复:
我写了一个方法~
  public void AddLine()
  {
  SqlConnection conn = new SqlConnection();
  conn.Open();
  string strInsert = "insert into Line (Error) value (@Error)";
  SqlCommand inst = new SqlCommand……


AddLine() 方法 应该给个参数吧 要不你插入的 Error 信息是什么
new SqlConnection()  不传个链接数据库字符串?
  
string strInsert = "insert into Line (Error) value (@Error)";
既然你的sql 语句这样写了
那么你就要传参数给他呀  要不 你的 inst.ExecuteNonQuery() 有什么用呢

建议LZ 还是去看看相关知识去
--------------------编程问答-------------------- 如果我换成这样呢·
   public void  AddLine()
        {
            SqlConnection conn = getConn();
           
            if (conn.State == System.Data.ConnectionState.Closed)
            {
                conn.Open();
            }            
            string strInsert = "insert into Line (Error) value (@Error)";
            SqlCommand inst = new SqlCommand(strInsert, conn);
            inst.Parameters.....    //这不知道怎么写和调用了~
            inst.ExecuteNonQuery();
            conn.Close();
        }

inst.Parameters  这个后面应该写什么~和调用呀~我这个方法才是完整正确的 --------------------编程问答-------------------- 过了过了~这个终于搞定了 ~~我从新又写了个
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,