C#和SQL结合使用的一个语法问题,
如果是c#中的变量给数据库字段赋值,可以写成:(以update举例,假设该字段的数据类型为int)int x=1;
string strUpdate1="UPDATE 表名 SET 属性名='"+x+"' WHERE ……";
sqlCommand1.CommandText=strUpdate1;
sqlConnection1.Open();
sqlCommand1.ExecuteNonQuery();
sqlConnection1.Close();
如果是属性给x赋值,要怎么做呢?
如果是c#中的变量给数据库字段赋值,可以写成:(以update举例,假设该字段的数据类型为int)int x=1;
string strUpdate1="UPDATE 表名 SET 属性名='"+x+"' WHERE ……";
sqlCommand1.CommandText=strUpdate1;
sqlConnection1.Open();
sqlCommand1.ExecuteNonQuery();
sqlConnection1.Close();
如果是属性给x赋值,要怎么做呢?
private int classID;string sql="update table1 set ClassID="+classID +" where id="+ID;
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();
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[行索引][单元格索引]
create procedure sp_update表名
(
@x AS INT
)
AS
UPDATE 表名 SET 属性名=@X WHERE ……
Return @X