C# 选择第一个表数据并将其传递给int value,然后在第二个表中打印它?错误
我想从一个表中选择C# 选择第一个表数据并将其传递给int value,然后在第二个表中打印它?错误,c#,asp.net,sql,C#,Asp.net,Sql,我想从一个表中选择id,然后将该id插入到另一个表中。 首先,我需要读取我的第一个表id并将其传递给string。 然后我需要将该字符串传递给第二个表 String selQuery = "SELECT Id FROM MapDataImage WHERE Source='" + TextBox1.Text + "';"; { int MId = int.TryParse(Id); String QueryStr = "INSERT INTO User_Images VALUES
id
,然后将该id
插入到另一个表中。
首先,我需要读取我的第一个表id并将其传递给string。
然后我需要将该字符串传递给第二个表
String selQuery = "SELECT Id FROM MapDataImage WHERE Source='" + TextBox1.Text + "';";
{
int MId = int.TryParse(Id);
String QueryStr = "INSERT INTO User_Images VALUES (@Image)";
SqlCommand scmd = new SqlCommand(QueryStr, conn);
SqlDataReader sqldread = scmd.ExecuteReader();
//String QueryStr = "UPDATE MapDataImage SET Image = @Image WHERE Source='" + TextBox1.Text + "';";
//SqlCommand scmd = new SqlCommand(QueryStr, conn);
scmd.Parameters.Add("@Image", SqlDbType.VarBinary).Value = imgbytes;
scmd.ExecuteNonQuery();
}
那么这是正确的吗
int MId = int.TryParse(Id); //the name id does not exist in current context?
但我想从数据库中检索特定的id值
或
这是行不通的<代码>“Id”是字符串文字,它永远不能是整数。我认为您需要指定一个变量
int mId = int.Parse(id);
除此之外,尝试使用TryParse
,这样更安全
还可以在SELECT
语句上使用参数化查询
,以防止SQL注入
请张贴您的代码的其余部分,我会调整我的答案,以适应 您不能自己创建DataReaders对象。相反,您可以通过调用Command类的ExecuteReader方法来获取对DataReader对象的引用
Tryparse
返回一个布尔值,而不是整数。
int MId = int.Parse("Id");
int mId = int.Parse(id);