使用C#和SQL Server,在一个表中插入来自另一个表的值,使用一个变量。
使用C#和SQL Server,在一个表中插入来自另一个表的值,使用一个变量。
我需要从另一个表中获取一些值并将它们插入到一个表中。这是我的代码:
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConString"].ConnectionString); SqlCommand myCommand = new SqlCommand("SELECT Name FROM TableName WHERE Id = '" + Id + "'", con); SqlDataReader rdr = myCommand.ExecuteReader(); if (dr.HasRows) { while (rdr.Read()) { // 用户存在 - 获取邮箱 string Name = rdr["Name"].ToString(); } }
我的问题是如何将姓名插入另一个表中。
我不想使用文本框,值必须作为变量插入到另一个表中。我使用以下脚本插入数据,但是出现错误消息说找不到Id。请告诉我是否有遗漏的东西。
SqlCommand cmd = new SqlCommand(@"insert into finalTable (AccountNumber) VALUES (@string)", con);
问题的出现原因是在执行插入数据的操作时,出现了"Id not found"的错误信息。根据错误信息,可以推测Id可能是主键列,并且没有设置为自动增长,因此需要为Id列指定一个值。由于是插入操作,所以该值必须是表中尚未使用的。根据需求的不同,可以考虑将finalTable表的Id列设置为自动增长。
另外,代码中没有正确释放实现了IDisposable接口的对象(如数据库连接)。使用using关键字可以很好地解决这个问题。
另外,原文中提到自己将Name插入了AccountNumber,这可能是导致输出问题的原因。
下面是整理后的文章:
在使用C#和SQL Server时,我遇到了一个问题:在从一个表中使用变量插入另一个表时,出现了"Id not found"的错误信息。
下面是我使用的插入数据的脚本:
SqlCommand cmd = new SqlCommand(@"insert into finalTable (AccountNumber) VALUES ()", con);
根据错误信息,我推测Id可能是主键列,并且没有设置为自动增长,因此需要为Id列指定一个值。由于是插入操作,所以该值必须是表中尚未使用的。根据需求的不同,可以考虑将finalTable表的Id列设置为自动增长。
另外,我注意到在代码中没有正确释放实现了IDisposable接口的对象,比如数据库连接。为了解决这个问题,我可以使用using关键字来自动释放这些资源。
另外,我还发现自己将Name插入了AccountNumber,这可能是导致输出问题的原因。
通过对问题进行分析,并采取相应的解决方法,我最终成功解决了这个问题。希望本文对遇到类似问题的读者有所帮助。