读书人

直接点中数据库中的一条信息后向此外一

发布时间: 2012-12-15 15:16:03 作者: rapoo

直接点中数据库中的一条信息后向另外一张表中插入信息


如上图所示,我想实现的功能是:
当我点中上面的“药品详情”表中的某一药品时,再点击右边“增加用药”,便可将刚刚选中的信息插入到下面的“病人用药”表中,这该如何实现?
“药品详情”表和“病人用药”表都在同一数据库中。

最好有C#代码。



[最优解释]

引用:
界面如下 不知道是不是lz要的效果 另外说明一点 不清楚lz的业务需求 所在显示病人用药那一块 lz根据自己的业务自行修善






代码如下 表结构什么的我就不放了 lz根据自己的表来编写 这是死方法 建议是绑定泛型集合 一行的数据是一个对象 对象可以绑到行的tag上 这样有利于进一步的操作
C# code?123456789101112131415……


Thanks very much!
[其他解释]
是这个?
[其他解释]
引用:
DataGridView.CellContentClick 事件
DataGridView.CellClick 事件


你指的是在这两个事件中实现,能否再详细点呢?最好可以粘贴上代码给我
[其他解释]
找到选中的那一行,将相关信息写入数据库相应表中。
[其他解释]
DataGridView.CellContentClick 事件
DataGridView.CellClick 事件
[其他解释]
只是尽快解决。。。
[其他解释]
只是尽快解决。。。
[其他解释]
界面如下 不知道是不是lz要的效果 另外说明一点 不清楚lz的业务需求 所在显示病人用药那一块 lz根据自己的业务自行修善






代码如下 表结构什么的我就不放了 lz根据自己的表来编写 这是死方法 建议是绑定泛型集合 一行的数据是一个对象 对象可以绑到行的tag上 这样有利于进一步的操作

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace My
{
public partial class Form4 : Form
{
public Form4()
{
InitializeComponent();
}

private void Form4_Load(object sender, EventArgs e)
{
this.dgvMedicine.AutoGenerateColumns = false;
string sql = "SELECT * FROM Medicine";
using (SqlConnection con = DBHelper.Connection)
{
//窗体加载时 加载病人用药的药品信息
this.dgvMedicine.DataSource = DBHelper.GetDataTable(sql, null);
}
}

private void btnAdd_Click(object sender, EventArgs e)


{
//判断是否有选中行 如果没有则提示
if (this.dgvMedicine.SelectedRows == null)
{
MessageBox.Show("请选择需要的药品");
}
else
{
//获取前一个taPage上的卡号文本框
TextBox txtCard = tabPage1.Controls["txtCardNo"] as TextBox;
//获取前一个tabPage上的姓名文本框
TextBox txtName = tabPage1.Controls["txtName"] as TextBox;
//--------下面是对DataGridview的操作
//获取选中行的第一列的值(这里对应的是药品名称 下面的就不重复写了)
//也就是你要插入到另一张的表的一些你需要的值
string mName = this.dgvMedicine.SelectedRows[0].Cells[1].Value.ToString();
//获取药品规格的值
//再说一点 我不知道你的用量是从哪里来的 所以没在表里面设计
string mStandard = this.dgvMedicine.SelectedRows[0].Cells[2].Value.ToString();
//构建参数化sql语句
string sql = "INSERT INTO PatitentInfo VALUES(@card , @name , @mname , @mstandard)";

//实例化参数列表
SqlParameter[] pars = {
new SqlParameter("@card" , txtCard.Text),
new SqlParameter("@name" , txtName.Text),
new SqlParameter("@mname" , mName),
new SqlParameter("@mstandard" , mStandard)


};
//执行插入表的sql语句
if (DBHelper.ExecuteCommand(sql, pars) > 0)
{
//如果插入成功 则获取这张表中的对应病人的信息
string sqlStr = "SELECT * FROM PatitentInfo";
//清空数据绑定 防止数据重复加载
this.dgvPatient.DataSource = null;
this.dgvPatient.AutoGenerateColumns = false;
this.dgvPatient.DataSource = DBHelper.GetDataTable(sqlStr, null);
}
else
{
//提示插入失败
MessageBox.Show("新增信息出错!");
}
}

}
}
}


[其他解释]
null

读书人网 >C#

热点推荐