C#里提取Listview中的数据存入到SQL

我这里想把listview中得到的数据存入SQL server中,但是执行代码后不能存储

 private void button6_Click(object sender, EventArgs e)
        {
            SqlConnection conn = new SqlConnection(ConStr);
            for (int i = 0; i < listView2.Items.Count; i++)
            {
                int j = 0;
                string SN1 = listView2.Items[i].SubItems[j].Text;

                string SN2 = listView2.Items[i].SubItems[j+1].Text;

                string SN3 = listView2.Items[i].SubItems[j+2].Text;

                string SN4 = listView2.Items[i].SubItems[j+3].Text;


                try
                {

                    string Command_insert = String.Format("insert into 正算结果(序号,点名,X,Y) values('{0}','{1}','{2}','{3}')", SN1, SN2, SN3, SN4);
                    SqlCommand insertcmd = new SqlCommand(Command_insert, conn);
                    MessageBox.Show("存储数据成功!");
                }
                catch (Exception ee)
                {
                    MessageBox.Show("存储数据失败!" + ee.ToString());

                }

            }
``

`
![图片说明](https://img-ask.csdn.net/upload/202006/30/1593499242_401125.png)

如图,代码里运行时存入一行就会提示一次存储成功,我这里提示了两次但是数据库里却没有程序更新
救救孩子吧
c#

1个回答

1.你只创建了insertcmd,并没有调用insertcmd.ExcuteNonQuery()
2.建议在循环外面创建一个SqlCommand,然后拼接多个插入语句的字符串(用分号隔开)再赋值给insertcmd.CommandText,然后在循环外面调用insertcmd.ExcuteNonQuery()

        private void button6_Click(object sender, EventArgs e)
        {
            try
            {
                using (SqlConnection conn = new SqlConnection(ConStr))
                {
                    conn.Open();
                    using (SqlCommand insertcmd = new SqlCommand())
                    {
                        StringBuilder cmdText = new StringBuilder();
                        for (int i = 0; i < listView2.Items.Count; i++)
                        {
                            string SN1 = listView2.Items[i].SubItems[0].Text;
                            string SN2 = listView2.Items[i].SubItems[1].Text;
                            string SN3 = listView2.Items[i].SubItems[2].Text;
                            string SN4 = listView2.Items[i].SubItems[3].Text;
                            cmdText.AppendFormat("insert into 正算结果(序号,点名,X,Y) values('{0}','{1}','{2}','{3}');", SN1, SN2, SN3, SN4);
                        }
                        insertcmd.CommandText = cmdText.ToString();
                        insertcmd.Connection = conn;
                        int result = insertcmd.ExecuteNonQuery();
                        conn.Close();
                        MessageBox.Show("存储数据成功!");
                    }
                }
            }
            catch (Exception ee)
            {
                MessageBox.Show("存储数据失败!" + ee.ToString());
            }
        }
HongyaBoy
HongyaBoy 谢谢 帮助很大
6 天之前 回复
hxycsdn9159
hxycsdn9159 回复HongyaBoy: 代码给你了
6 天之前 回复
HongyaBoy
HongyaBoy 可以细说吗 学业不太好有点看不懂啊
6 天之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Python+OpenCV计算机视觉

Python+OpenCV计算机视觉

C#的 listview如何实现分页显示数据

因为要做一款检测软件,需要将几千个数据都遍历显示出来,想在listview中显示,但是无奈数据量还是太大,想做到分页显示数据,如何代码实现,网上关于listview分页都是基于数据库的操作,不通过数据库如何实现分页,谢谢各位大神。

C#点击Listview选中数据删除无效

图1[代码,帮我看看是不是SQL语句有问题。SQL语句我在数据库是可以修改的](https://img-ask.csdn.net/upload/201711/26/1511707102_8261.png) 图2[只能表面修改。无法修改到数据库内容](https://img-ask.csdn.net/upload/201711/26/1511706637_879759.png) 姓名文本框 textBOX2 customerid 是序号 SQL连接语句是不是不对。。。 同样的代码在另一个窗体界面可以完美执行修改 复制过来就不行了 功能是 listview 读取数据库数据绑定在界面。单条选中双击listview里面的数据会把 数据绑定在上面的文本框。直接在文本框修改 点击修改按钮即可实现修改

c#中如何在listview控件里逐一添加并显示数据项?即一边使用add函数添加一边在屏幕上显示

如下面的代码所示,我创建了一个listview控件,想要添加4个数据项进去,并且想让第一个数据项“机器1”最先添加并显示在屏幕上,延时1秒后“机器4”再添加并显示在屏幕上,以此类推。但运行时发现是过了4秒后“机器1”“机器2”“机器3”“机器4”同时显示在屏幕上,并没有达到预期的效果。请问应该如何解决? 代码如下: ListViewItem item1 = new ListViewItem(); ListViewItem item2 = new ListViewItem(); ListViewItem item3 = new ListViewItem(); ListViewItem item4 = new ListViewItem(); item1.Text = "机器1"; item2.Text = "机器2"; item3.Text = "机器3"; item4.Text = "机器4"; listView1.Items.Add(item1); Thread.Sleep(1000); //延时1秒 listView1.Items.Add(item2); Thread.Sleep(1000); listView1.Items.Add(item3); Thread.Sleep(1000); listView1.Items.Add(item4); Thread.Sleep(1000); 运行结果如下: ![图片说明](https://img-ask.csdn.net/upload/201901/21/1548068747_692858.jpg)

怎么从数据库中取出数据放入listview

final SQLiteDatabase db = openOrCreateDatabase("record",MODE_PRIVATE,null); ListView listView=(ListView)findViewById(R.id.listView); map_list=getDataSource(db); SimpleAdapter adapter = new SimpleAdapter(this,map_list,R.layout.listview, new String[] { "time", "time1","type","type1","money","money1"}, new int[] { R.id.textView1,R.id.textView2,R.id.textView3,R.id.textView4,R.id.textView5,R.id.textView6}); listView.setAdapter(adapter); public static List<Map<String, String>> getDataSource(SQLiteDatabase db) { List<Map<String, String>> map_list = new ArrayList<Map<String, String>>(); Map<String, String> map = new HashMap<String, String>(); Cursor cursor = db.rawQuery("select * from record where name = ?",new String[] {name} ); while (cursor.moveToNext()) { String type = cursor.getString(2); String money = cursor.getString(1); map = new HashMap<String, String>(); map.put("time", "时间:"); map.put("time1", time); map.put("type", "类型:"); map.put("type1", type); map.put("money", "金额:"); map.put("money1", money); map_list.add(map); } return map_list; } cursor就是出错,麻烦帮忙看下哪里出错

用C#只删除了listview中的选中的一行,但没删除数据库中的

string strSQL = "delete from GrindingWheelInformation where listView1.SelectedItems[0]'" + listView1.SelectedItems.ToString() + "'"; string connstr = "Provider=Microsoft.Jet.OleDb.4.0;"; connstr += @"Data Source=D:\Merger20150208_caohuan\GEARCNC.mdb"; OleDbConnection tempconn = new OleDbConnection(connstr);//连接数据库 String str = "select * from GrindingWheelInformation";//创建执行SQL语句 listView1.Items.Remove(listView1.SelectedItems[0]);

C# Dataset在listview中显示问题

C#新手,查询结果放入到Dataset中,不知道哪里出错了,不能在listview显示。 新人写的有点乱,请多多包涵,能给思路和解释最好!![图片说明](https://img-ask.csdn.net/upload/201707/04/1499164356_826919.png)

c#如何调listview图标间距

c#如何调listview的大图标的间距?大神请指点。比如largeicon的图标间距。注:改变图片大小对间距无作用。

C# 在listview中添加一行

这一行会用controls在单元格,里面添加了button 等不同控件,然后我想鼠标点击获取这一行,并且获得它的行值,且高亮显示这一行。选了listview自带的属性,不能高亮显示用control添加的控件的地方。我要做的效果有点像迅雷下载中(它里面的一行有进度条,button这些控件,但仍能全部高亮显示)![图片说明](https://img-ask.csdn.net/upload/201605/10/1462867380_227482.png)而自己的只能获取一部分。请问我这个改怎么改呢。

winform程序listview控件修改数据后动态刷新效果

在另一个窗口中修改好listview控件数据,并能在listview立刻显示出来。 怎么实现求大神指点!谢谢

如果想要把Listview中的数据导出并且是excel可读文件

想要把Listview中的数据导出并且是excel可读文件,求具体步骤啊

C#ListView绑定DataSet的的问题

之前用数据读取器将数据填充到ListView中 代码如下 listView1.Items.Clear(); SqlConnection con = new SqlConnection("server=.;UID=sa;PWD=1234;database=XXXX"); con.Open(); SqlCommand cmd = new SqlCommand("SELECT DISTINCT 列名1,id FROM [history] order by [id]", con); SqlDataReader r = cmd.ExecuteReader(); while (r.Read()) { ListViewItem lvi = new ListViewItem(r[0].ToString()); listView1.Items.Add(lvi); } r.Close(); con.Close(); 但由于数据读取器必须连接才能用,想用DataAdapter方法写一个完全相同功能的方法。但怎么写都无法实现功能。求大神给个源码啊,万分感谢(Select语句这次我写在存储过程里了,假设存储过程名字是SELECTDATA,内容是SELECT DISTINCT 列名1,id FROM [history] order by [id])

C#用listView读取文件的后几列数据

我的文件类型是txt的,需要读取该文件的后三列内容,如图: ![图片说明](https://img-ask.csdn.net/upload/201603/31/1459395999_468209.png) 将这些数据导入listview,该如何执行? 主要是不知道如何读取后三列求大神指教,谢谢!

C# listview在指定行指定列添加数据问题。

![![图片说明](https://img-ask.csdn.net/upload/201608/26/1472184148_228014.png) ![!图片说明](https://img-ask.csdn.net/upload/201608/26/1472184132_774673.png) 为什么当subitems索引 大于1的时候就报错,写0的时候就好好的。

c#里面listview控件调用

c#中listview控件的add方法怎么调用?就是显示出一列的数据!

C# winform 中listview 使用了checkbox 然后用group分了栏

怎么点击分栏的Header来勾选每个组别内的内容,或者获取Header的点击事件(Group的Header),谢谢大神们

C#WINFORM中listview里多行按钮不能和文字一样上下滚动

C#Winform中放了一个listview里放了多个按钮,上下拉动滚动条按钮没有随着文字上下拉动,只有文字上下拉动! 我在listview里面绑定了很多行的数据,每一行都有按钮,然而当我上下滚动屏幕的时候 发现,除了文字可以上下滚动,按钮就在那里一动不动,拉下去的时候,按钮点出来的信 息还是前面几行的数据,某一个按钮的Tag的值还是前面几行的Tag的值,请问上下拖动 时,怎么让按钮也随着文字一样上下滚动,按钮的Tag还是原来的那一行的Tag。

C#listview 返回items.index

为什么listview无论点哪行items.index都返回0 ``` private void Hide_ToolStripMenuItem_Click(object sender, EventArgs e) { //隐藏数据 if (MessageBox.Show("是否隐藏本条数据?", "提问", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { int i_index = is_check_fun(); string ttmid = listView1.Items[i_index].SubItems[0].Text; string userid = UserLoginInfo.CurrentUserInfo.Id.ToString(); string sql = string.Format("EXECUTE [ysjk].[dbo].[SP_Hide_Show_Data] '{0}' ,'{1}' ,1", userid, ttmid); try { SQLHelper.ExecuteSql(sql); MessageBox.Show("本条数据已经被隐藏,本数据背景将以淡紫色显示。"); listView1.Items[i_index].BackColor = ColorTranslator.FromHtml("#ccccff"); //listView1.Items[listView1.Items.IndexOfKey(ttmid)].BackColor = ColorTranslator.FromHtml("#ccccff"); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } private int is_check_fun() { if (listView1.Items.Count <= 0) { MessageBox.Show("没有数据,不能操作!", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return -1; } if (listView1.SelectedItems.Count <= 0) { MessageBox.Show("没有选中一项!", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return -1; } int index = listView1.SelectedItems[0].Index; return index; } ```

C# listview的循环remove问题

for (int i = listView1.SelectedItems.Count - 1; i >= 0; i--) { ListViewItem item = this.listView1.SelectedItems[i]; this.listView1.Items.Remove(item); } 如上代码可以进行多项删除。 但是我将循环的顺序改成0到count-1后进行删除发现删除的全是奇数项,添加断点查看发现i最后的值为(count-1)/2,代码如下: for (int i = 0; i <= listView1.SelectedItems.Count - 1; i++) { ListViewItem item = this.listView1.SelectedItems[i]; this.listView1.Items.Remove(item); } 本人小白不懂就问

用c#语言,为什么在listview中一直显示不了,语句没报错

ListView Lvl = new ListView(); //实例化 Lvl.Left = 0; Lvl.Top = 0; Lvl.Width = this.ClientRectangle.Width; Lvl.Height = this.ClientRectangle.Height; Lvl.GridLines = true;//显示各个记录的分隔线 Lvl.FullRowSelect = true;//要选择就是一行 Lvl.View = View.Details;//定义列表显示的方式 Lvl.Scrollable = true;//需要时候显示滚动条 Lvl.MultiSelect = false; // 不可以多行选择 //listView1.Items.Remove(listView1.SelectedItems[0]); //这样可以在ListView中删除选择的行 Lvl.HeaderStyle = ColumnHeaderStyle.Nonclickable;// 针对数据库的字段名称,建立与之适应显示表头 Lvl.Columns.Add("齿轮", 100, HorizontalAlignment.Right); Lvl.Columns.Add("chi", 100, HorizontalAlignment.Left); Lvl.Columns.Add("C", 100, HorizontalAlignment.Left); Lvl.Visible = true;

C#中关于listVIew以及TabPage的问题

原始需求:需要在listview空间中用LargeIcon模式显示,根据加载数据不同显示为一个m×n的矩阵,由于没找到在listview中控制每行显示个数的属性,所以决定通过动态计算listview宽高的方式实现,例如:5×3个,单个元素的宽为20 高为9则listview的大小为 宽100 高 27(忽略中间的间隙)。现在的情况是,如果控件大小超过了屏幕的范围,需要一个外部的容器我选择用tabpage调出滚动条来实现。问题是,如果 listview 的长超过了屏幕范围,宽未超过,此时用滚动条时,如果鼠标焦点在listview上则用滚论无法实现上下滚动,而在listview与tabpage 的空隙中可以使用滚轮来滚动,而在有的机器上当拖动滚动条时,listview中的内容不能与滚动条实时滚动,需要当滚动条停止后,listview才能显示相应的内容,而有的机器则没有不能同步这个问题。所以我现在有两个方面的改进想法,1:更换listview 使用其他可以控制每行数量(listview 是根据控件大小自动这行)2:使用其他容器使得鼠标焦点在listview上时也可以使用鼠标滚轮进行上下滚动。希望大家能提供一些,控件选择,或者以上两个控件有隐藏属性,我没发现的是最好了,没有悬赏币了,望见谅。

2019 Python开发者日-培训

2019 Python开发者日-培训

150讲轻松搞定Python网络爬虫

150讲轻松搞定Python网络爬虫

设计模式(JAVA语言实现)--20种设计模式附带源码

设计模式(JAVA语言实现)--20种设计模式附带源码

YOLOv3目标检测实战:训练自己的数据集

YOLOv3目标检测实战:训练自己的数据集

java后台+微信小程序 实现完整的点餐系统

java后台+微信小程序 实现完整的点餐系统

三个项目玩转深度学习(附1G源码)

三个项目玩转深度学习(附1G源码)

初级玩转Linux+Ubuntu(嵌入式开发基础课程)

初级玩转Linux+Ubuntu(嵌入式开发基础课程)

2019 AI开发者大会

2019 AI开发者大会

玩转Linux:常用命令实例指南

玩转Linux:常用命令实例指南

一学即懂的计算机视觉(第一季)

一学即懂的计算机视觉(第一季)

4小时玩转微信小程序——基础入门与微信支付实战

4小时玩转微信小程序——基础入门与微信支付实战

Git 实用技巧

Git 实用技巧

Python数据清洗实战入门

Python数据清洗实战入门

使用TensorFlow+keras快速构建图像分类模型

使用TensorFlow+keras快速构建图像分类模型

实用主义学Python(小白也容易上手的Python实用案例)

实用主义学Python(小白也容易上手的Python实用案例)

程序员的算法通关课:知己知彼(第一季)

程序员的算法通关课:知己知彼(第一季)

MySQL数据库从入门到实战应用

MySQL数据库从入门到实战应用

机器学习初学者必会的案例精讲

机器学习初学者必会的案例精讲

手把手实现Java图书管理系统(附源码)

手把手实现Java图书管理系统(附源码)

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

.net core快速开发框架

.net core快速开发框架

玩转Python-Python3基础入门

玩转Python-Python3基础入门

Python数据挖掘简易入门

Python数据挖掘简易入门

微信公众平台开发入门

微信公众平台开发入门

程序员的兼职技能课

程序员的兼职技能课

Windows版YOLOv4目标检测实战:训练自己的数据集

Windows版YOLOv4目标检测实战:训练自己的数据集

HoloLens2开发入门教程

HoloLens2开发入门教程

微信小程序开发实战

微信小程序开发实战

Java8零基础入门视频教程

Java8零基础入门视频教程

相关热词 c#跨线程停止timer c#批量写入sql数据库 c# 自动安装浏览器 c#语言基础考试题 c# 偏移量打印是什么 c# 绘制曲线图 c#框体中的退出函数 c# 按钮透明背景 c# idl 混编出错 c#在位置0处没有任何行
立即提问