c MYSQL查询数据在窗体展示,C运行3个MySQL插入查询,只需按一个按钮-来自文本框和列表视图的数据...
我想知道你能不能帮我。首先,我想说这是我在C中创建的第一个应用程序,所以请接受我的代码并不完美。
我想要达到的目标:
我的应用程序将是一个汽车维修管理应用程序。我有一个面板,上面有几个文本框和一个列表。只需单击一个按钮,我就可以将文本框中的数据存储在名为“naprawa”的表中,并将列表中的数据存储在名为“opisynapraw”的表中。这些表与“naprawa”中的fk相关,所以我希望列表中的项在存储时在其他表中具有刚刚创建的字段的fk。(如果有道理的话)
请参见下表设置:
纳帕拉瓦
|--------------+----------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
|--------------+----------------+------+-----+---------+----------------+
| Nr_Naprawy | int(11) | NO | PRI | NULL | auto_increment |
| data_naprawy | date | YES | | NULL | |
| nr_rej | varchar(45) | YES | MUL | NULL | |
| Przebieg | int(15) | YES | | NULL | |
|--------------+----------------+------+-----+---------+----------------+
该表中的数据:
|------------+--------------+---------+-----------|
| Nr_Naprawy | data_naprawy | nr_rej | Przebieg |
|------------+--------------+---------+-----------|
| 1 | 2018-06-20 | na06ysa | 150000 |
|------------+--------------+---------+-----------|
表Opisynapraw:
+---------------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+---------------+------+-----+---------+----------------+
| idopisynapraw | int(11) | NO | PRI | NULL | auto_increment |
| Opis_Naprawy | varchar(45) | YES | | NULL | |
| Cena | decimal(10,2) | YES | | NULL | |
| Nr_Naprawy | int(11) | YES | MUL | NULL | |
+---------------+---------------+------+-----+---------+----------------+
我希望在该表中看到的示例数据:
|---------------+--------------+-------+-------------|
| idopisynapraw | Opis_Naprawy | Cena | Nr_Naprawy |
|---------------+--------------+-------+-------------|
| 1 | notes abcd | 30 | 1 |
|---------------+--------------+-------+-------------|
| 2 | notes cdef | 5 | 1 |
|---------------+--------------+-------+-------------|
我想要我的代码做什么。当我按下“添加”按钮时,它会将文本框中的记录添加到“naprawa”中。然后获取添加内容的ID,将其用作opisynapraw的fk,并将其与listveiw中的数据一起添加到opisynapraw表中。
这是我的密码。
private void btnDodajNaprawe_Click(object sender, EventArgs e)
{
try
{
MySqlConnection myConn3 = new MySqlConnection(MyConnection);
myConn3.Open();
string querydoajnap = "INSERT INTO naprawa (data_naprawy,nr_rej,Przebieg) VALUES('" + dtaData.Value.Date.ToString("yyyy/MM/dd") + "', '" + txtNrRej.Text + "', '" + txtPrzebieg.Text + "');";
MySqlCommand cmd = new MySqlCommand(querydoajnap, myConn3);
MySqlConnection lastidconn = new MySqlConnection(MyConnection);
lastidconn.Open();
if (cmd.ExecuteNonQuery() == 1)
{
MessageBox.Show("Dodane");
txtNrRej.Text = string.Empty;
txtPrzebieg.Text = string.Empty;
}
else
{
MessageBox.Show("Blad");
}
String LastIDnapr = "select LAST_INSERT_ID();";
MySqlCommand cmd1 = new MySqlCommand(LastIDnapr, lastidconn);
MySqlDataReader IDRead = cmd1.ExecuteReader();
int idnumber = 0;
while (IDRead.Read())
{
idnumber = IDRead.GetInt32(0);
}
MySqlCommand cmd2 = myConn3.CreateCommand();
foreach (ListViewItem item in listView1.Items)
{
// opisynapraw(Opis_Naprawy,Cena,Nr_Naprawy) VALUES (@val1 , @val2, '" + idnumber + "');";
cmd2.Parameters.AddWithValue("@val1",item.Text);
cmd2.Parameters.AddWithValue("@val2",item.SubItems[1].Text);
cmd2.CommandText = "INSERT INTO opisynapraw(Opis_Naprawy,Cena,Nr_Naprawy) VALUES (@val1 , @val2, '" + idnumber + "');";
cmd2.ExecuteNonQuery();
}
lastidconn.Close();
myConn3.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
当我执行上面的代码时,它可以将数据添加到表“naprawa”中,但我认为最后使用的ID不会与“opisynapraw”表相关,这会导致以下错误。
出于某种原因,我需要一些代表点张贴图像…我将在下面键入我收到的错误消息
无法添加或更新子行;外键约束失败
('cars'、'opisynapraw'、'constraint'nr撘naprawy'外键
('nr撘naprawy')在删除时引用'naprawa'('nr撘naprawy')不执行任何操作
更新时无操作)
我非常感谢你帮我解开这个谜。
提前谢谢你
罗格尔
c MYSQL查询数据在窗体展示,C运行3个MySQL插入查询,只需按一个按钮-来自文本框和列表视图的数据...相关推荐
- 文本框禁止手动输入 只能选择数据到 文本框
今天在醒目中碰到了一个问题.文本框只能上人家选择数据进去.不能手动输入.查了资料.最后解决如下. 页面代码: <asp:TextBox ID="tx ...
- mysql找不到performance_Mysql安装完毕运行时没有mysql和performance_schema数据库_MySQL
Mysql问题 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) Mysql安装完 ...
- 【杂记】(富文本框回填值、ajax数据回填按钮年级学科、去除数组中数组外包的引号、多重循环的写法、微测评获奖页面的内容 循环拼接写法、textarea禁止拖动、html基本、透明度、页面内出现滚动条)
1. 富文本框回填值 for(var i = 0;i<res.data.choiceoptinfo.length;i++){ueArr[i].ready(function(){//选项ueArr ...
- 思路:当一个表嵌套另一个表时候 只需在dao中引入该mapper即可 进行正常的数据插入 查询 修改等...
转载于:https://www.cnblogs.com/classmethond/p/10640007.html
- centos7.4 mysql启动,centos7下mysql服务启动失败_网站服务器运行维护,centos7,mysql
centos7系统启动流程_网站服务器运行维护 centos7系统启动流程:1.POST加电自检:2.选择启动设备以加载MBR:3.加载bootloader:4.Kernel自身初始化:5.init管 ...
- 数据创造价值_展示数据并创造价值
数据创造价值 To create the maximum value, urgency, and leverage in a data partnership, you must present th ...
- 实战 | 用Python爬取《云南虫谷》3.6万条评论,并做数据统计可视化展示分析,好看!...
最近鬼吹灯系列网剧<云南虫谷>上线,作为鬼吹灯系列作品,承接上部<龙岭迷窟>内容,且还是铁三角原班人马主演,网友直呼非常好看! 今天,我们就用Python爬取目前全部剧集的评论 ...
- 缓冲多少数据_聊点深的:解析MySQL,看看InnoDB 缓冲池(buffer pool) 工作原理
缓冲池的用处 对于使用 InnoDB 作为存储引擎的表来说,不管是用于存储用户数据的索引,还是各种系统数据,都是以页的形式存放在表空间中的,而所谓的表空间只是 InnoDB 对文件系统上一个或几个实际 ...
- 我想做一个课程表系统利用PHP+MYSQL+HTML实现课表的展示,但是不知道如何实现
我想做一个课程表系统利用PHP+MYSQL+HTML实现课表的展示,但是不知道如何实现 1.课表不是唯一一个课表. 2.通过录入的课表信息展示在HTML表格 想实现的效果如图: 收藏 (1) 分享 举 ...
最新文章
- 各种汇编器masm masm32 fasm nasm yasm gas的区别
- 阻塞(block)/非阻塞(unblock) 同步(synchronization)/异步(asynchronization) 的区别
- Pytho-SyntaxError: Non-ASCII character '\xe7' in file解决方法
- python 求连线相似度_Python分析《都挺好》中的人物关系,苏大强与蔡根花是真爱?...
- hdu 2047(递推)
- DefaultServlet
- 使用Spring Boot Actuator监视Java应用程序
- 一加7 Pro详细配置规格曝光:售价妥妥破5000
- BIM工程信息管理系统搭建-系统功能需求
- Visual Studio 2019 配置汇编和masm32教程
- 快手上的音乐计算机,快手本地音乐显示只能从电脑导入怎么办
- mac 安装selenium 教程
- 程序员的贫富两极分化,穷的穷死,富的富死,我就是那“穷鬼”?
- python感叹号的作用_Python的作用
- 顺序栈的创建以及各种操作
- BUUCTF之“judgement_mna_2016”
- 青少年CTF Misc-Easy 女神的朋友圈 WP
- kettle案例-数据仓库
- wow服务器合并信息,《魔兽世界》台服合并部分服务器_网络游戏魔兽世界_新浪游戏_新浪网...
- 分享两种培训和一种战略对焦方案