如何实现通过一个表的字段搜索另一个表相关内容集,将其插入到第三个表这个貌似很复杂的功能!

CS343922538 2009-04-24 02:28:44


上图四是实现课程分配功能的页面,当点击确定按钮后,会将输入的内容插入到表ST_Teacher_course(如图一)相应的教师、课程、班级、年度这个四字段里面,我想在保持前面功能不变的情况下,当点击确定按钮后,对表ST_Teacher_course(如图一)里面的班级字段ST_Class_id关联学生信息表ST_student(图二)里面的字段ST_Student_classid搜索出所有是这个班的学生的学号,将其插入到表ST_student_course(图三)里面的字段ST_Student_id。请问如何实现这一功能







...全文
105 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
CS343922538 2009-04-24
  • 打赏
  • 举报
回复
补充该页面的代码:

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace STGROUP
{
/// <summary>
/// ST_assigncourse 的摘要说明。
/// </summary>
public partial class ST_assigncourse : System.Web.UI.Page
{

protected void Page_Load(object sender, System.EventArgs e)
{//教师名称下拉列表框绑定
string st_connstr= ConfigurationSettings.AppSettings["st_dbconn"];
//连接本地计算机的st_StuManager数据库
SqlConnection st_conn0= new SqlConnection (st_connstr);
if(!IsPostBack)
{
st_conn0.Open ();
string st_sql="select * from ST_teacher";
SqlCommand st_comm0=new SqlCommand (st_sql,st_conn0);
SqlDataReader st_dr0=st_comm0.ExecuteReader ();
while(st_dr0.Read ())
{
st_ddl_teacher.Items .Add (new ListItem(st_dr0["ST_Teacher_name"].ToString(),st_dr0["ST_Teacher_id"].ToString()) );
}
st_conn0.Close ();
//课程名称下拉列表框绑定
st_conn0.Open ();
string st_sql1="select * from ST_course";
SqlCommand st_comm1=new SqlCommand (st_sql1,st_conn0);
SqlDataReader st_dr1=st_comm1.ExecuteReader ();
while(st_dr1.Read ())
{
st_ddl_course.Items .Add (new ListItem(st_dr1["ST_Course_name"].ToString() ,st_dr1["ST_Course_id"].ToString()) );
}
st_conn0.Close ();
//班级名称下拉列表框绑定
st_conn0.Open ();
string st_sql2="select * from ST_class";
SqlCommand st_comm2=new SqlCommand (st_sql2,st_conn0);
SqlDataReader st_dr2=st_comm2.ExecuteReader ();
st_ddl_class.Items .Add (new ListItem("","") );
while(st_dr2.Read ())
{
st_ddl_class.Items .Add (new ListItem(st_dr2["ST_Class_name"].ToString() ,st_dr2["ST_Class_id"].ToString()) );
}
st_conn0.Close ();
}
// 在此处放置用户代码以初始化页面

}

#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{

}
#endregion

protected void st_btn_ok_Click(object sender, System.EventArgs e)
{
string st_connstr= ConfigurationSettings.AppSettings["st_dbconn"];
SqlConnection st_conn= new SqlConnection (st_connstr);
st_conn.Open();
string st_sqlstr="insert into ST_teacher_course(ST_Teacher_id,ST_Course_id,ST_Class_id,ST_Course_year) values(@Teacher_id,@Course_id,@Class_id,@Course_year)";
string st_sqlstr1 = "insert into ST_student_course(ST_Student_id,ST_Course_id,ST_Course_year) values(@Teacher_id,@Course_id,@Class_id,@Course_year)";
SqlCommand st_comm1 = new SqlCommand(st_sqlstr1, st_conn);
SqlCommand st_comm=new SqlCommand(st_sqlstr,st_conn);
st_comm.Parameters.Add(new SqlParameter("@Teacher_id",SqlDbType.VarChar,50));
st_comm.Parameters["@Teacher_id"].Value=st_ddl_teacher.SelectedItem.Value;
st_comm.Parameters.Add(new SqlParameter("@Course_id",SqlDbType.VarChar,50));
st_comm.Parameters["@Course_id"].Value=st_ddl_course.SelectedItem.Value;
st_comm.Parameters.Add(new SqlParameter("@Class_id",SqlDbType.VarChar,50));
st_comm.Parameters["@Class_id"].Value=st_ddl_class.SelectedItem.Value;
st_comm.Parameters.Add(new SqlParameter("@Course_year",SqlDbType.VarChar,50));
st_comm.Parameters["@Course_year"].Value=st_tbx_year.Text;
try
{
st_comm.ExecuteNonQuery();
st_lbl_note.Text="添加成功,请返回";

}
catch(SqlException)
{
st_lbl_note.Text="添加失败";
st_lbl_note.Style["color"]="red";
}
st_conn.Close();
}
}
}
MyBatis 目录(?)[-] mybatis实战教程mybatis in action之一开发环境搭建 mybatis实战教程mybatis in action之二以接口的方式编程 mybatis实战教程mybatis in action之三实现数据的增删改查 mybatis实战教程mybatis in action之四实现关联数据的查询 mybatis实战教程mybatis in action之五与spring3成附源码 mybatis实战教程mybatis in action之六与Spring MVC 的成 mybatis实战教程mybatis in action之七实现mybatis分页源码下载 mybatis实战教程mybatis in action之八mybatis 动态sql语句 mybatis实战教程mybatis in action之九mybatis 代码生成工具的使用 mybatis SqlSessionDaoSupport的使用附代码下载 转自:http://www.yihaomen.com/article/java/302.htm (读者注:其实这个应该叫做很基础的入门一下下,如果你看过Hibernate了那这个就非常的简单) (再加一条,其实大家可以看官方的教程更好些:http://mybatis.github.io/mybatis-3/,而且如果英文不是很好的那就看中文的:http://mybatis.github.io/mybatis-3/zh/sqlmap-xml.html) 写在这个系列前面的话: 以前曾经用过ibatis,这是mybatis的前身,当时在做项目时,感觉很不错,比hibernate灵活。性能也比hibernate好。而且也比较轻量级,因为当时在项目中,没来的及做很很多笔记。后来项目结束了,我也没写总结文档。已经过去好久了。但最近突然又对这个ORM 工具感兴趣。因为接下来自己的项目中很有可能采用这个ORM工具。所以在此重新温习了一下 mybatis, 因此就有了这个系列的 mybatis 教程. 什么是mybatis MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录. orm工具的基本思想 无论是用过的hibernate,mybatis,你都可以法相他们有一个共同点: 1. 从配置文件(通常是XML配置文件中)得到 sessionfactory. 2. 由sessionfactory 产生 session 3. 在session 中完成对数据的增删改查和事务提交等. 4. 在用完之后关闭session 。 5. 在java 对象和 数据库之间有做mapping 的配置文件,也通常是xml 文件。 mybatis实战教程(mybatis in action)之一:开发环境搭建 mybatis 的开发环境搭建,选择: eclipse j2ee 版本,mysql 5.1 ,jdk 1.7,mybatis3.2.0.jar包。这些软件工具均可以到各自的官方网站上下载。 首先建立一个名字为 MyBaits 的 dynamic web project 1. 现阶段,你可以直接建立java 工程,但一般都是开发web项目,这个系列教程最后也是web的,所以一开始就建立web工程。 2. 将 mybatis-3.2.0-SNAPSHOT.jar,mysql-connector-java-5.1.22-bin.jar 拷贝到 web工程的lib目录. 3. 创建mysql 测试数据库和用户,注意,这里采用的是 utf-8 编码 创建用户,并插入一条测试数据 程序代码 程序代码 Create TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `userName` varchar(50) DEFAULT NULL, `userAge` int(11) DEFAULT NULL, `userAddress` varchar(200) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; Insert INTO `user` VALUES ('1', 'summer', '100', 'shanghai,pudong'

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧