C#和SQL结合使用的一个语法问题,
如果是c#中的变量给数据库字段赋值,可以写成:(以update举例,假设该字段的数据类型为int)int x=1;
string strUpdate1="UPDATE 表名 SET 属性名='"+x+"' WHERE ……";
sqlCommand1.CommandText=strUpdate1;
sqlConnection1.Open();
sqlCommand1.ExecuteNonQuery();
sqlConnection1.Close();
如果是属性给x赋值,要怎么做呢?

解决方案 »

  1.   

    没看明白??你是说取出来的数据赋值给变量吗??那你可以用SqlDataReader呀!~~
      

  2.   

    那你先把你要赋给X的值从数据库里查出来,再赋值给X不就OK了???
      

  3.   

    使这个意思,SqlDataReader怎么用呢?
      

  4.   

    查出来的意思是用SELECT?具体怎么写啊?我写过但是编译器通不过
      

  5.   

    带参数的存储过程就可以了 或者在C#里面拼sql 语句int ID;
    private int classID;string sql="update table1 set ClassID="+classID +" where id="+ID;
      

  6.   


    int x=1;
    string strUpdate1="SELECT 属性 FROM 表名 WHERE ……";
    sqlCommand1.CommandText=strUpdate1;
    sqlConnection1.Open();
    SqlDataReader sdr;
    sdr=sqlCommand1.ExecuteReader();
    while(sdr.Read())   //这里如果找出的数据有多行,是不断往前迭代的
    {
      x=Convert.ToInt32(sdr["属性"].ToString());
    }
    sdr.Close();
    sqlConnection1.Close();
      

  7.   

    或者用datasetSqlConnection cn = new SqlConnection(Common.Class1.ConStr);
    SqlDataAdapter da;
    DataSet ds;ds = new DataSet();
    SqlCommand cmd = new SqlCommand(com,cn);
    da = new SqlDataAdapter(cmd);
    da.Fill(ds,table);int x=ds.tables[表索引].rows[行索引][单元格索引]
      

  8.   

    方法很多,用DataTable取值也可以.
      

  9.   

    直接调用下面存储过程 就可以了
    create procedure sp_update表名
    (
    @x         AS INT
    )
    AS
    UPDATE 表名 SET 属性名=@X WHERE ……
    Return @X