在点了按钮之后执行这个方法
public void InsertSuccess()
{
try
{
listView1.GridLines = true;//显示行与行之间的分隔线
listView1.FullRowSelect = true;//要选择就是一行
listView1.View = View.Details;//定义列表显示的方式
listView1.Scrollable = true;//需要时候显示滚动条
listView1.MultiSelect = false; // 不可以多行选择
listView1.HeaderStyle = ColumnHeaderStyle.Clickable;
listView1.Visible = true;//lstView可见
ListViewItem Item = new ListViewItem();
Item.SubItems[0].Text = this.textBox1.Text;
this.listView1.Items.Add(Item);//显示
}
catch (Exception ee)
{
MessageBox.Show(ee.Message.ToString(), "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
这样就不会出现重复数据或者是一些其他错误了
整个页面:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.OracleClient;
using System.Data.Common;
namespace nwvideo
{
public partial class frm_Manage : Form
{
public frm_Manage()
{
InitializeComponent();
string ConnectionString = "Data Source=dzjc_2005;user=kk;password=kk;";//写连接串
OracleConnection conn = new OracleConnection(ConnectionString);//创建一个新连接
conn.Open();
OracleCommand cmd = conn.CreateCommand();
cmd.CommandText = "SELECT u_name FROM netvideo.n_user ";//在这儿写sql语句
OracleDataReader dr = cmd.ExecuteReader();//创建一个OracleDateReader对象
listView1.GridLines = true;//显示行与行之间的分隔线
listView1.FullRowSelect = true;//要选择就是一行
listView1.View = View.Details;//定义列表显示的方式
listView1.Scrollable = true;//需要时候显示滚动条
listView1.MultiSelect = false; // 不可以多行选择
listView1.HeaderStyle = ColumnHeaderStyle.Clickable;
// 针对数据库的字段名称,建立与之适应显示表头
listView1.Columns.Add("操作员姓名", 282, HorizontalAlignment.Center);//第一个参数,表头名,第2个参数,表头大小,第3个参数,样式
listView1.Visible = true;//lstView可见
while (dr.Read())
{
ListViewItem Item = new ListViewItem();
Item.SubItems.Clear();
//Item.SubItems[0].Text = dr["u_name"].ToString();//读取数据库中字段
Item.SubItems[0].Text = dr.GetOracleString(0).ToString();//读取数据库中字段
listView1.Items.Add(Item);//显示
}
}
private void button5_Click(object sender, EventArgs e)
{
this.Close();
}
private void button1_Click(object sender, EventArgs e)
{
try
{
string maxU_id;
string ConnectionString = "Data Source=dzjc_2005;user=kk;password=kk;";//写连接串
OracleConnection conn = new OracleConnection(ConnectionString);//创建一个新连接
conn.Open();
OracleCommand cmd = conn.CreateCommand();
//MessageBox.Show("this.textBox1.Text"+this.textBox1.Text);
//MessageBox.Show("Login.ID"+Login.ID);
cmd.CommandText = " select max(u_id)+1 from netvideo.n_user ";//在这儿写sql语句
OracleDataReader odrr = cmd.ExecuteReader();
if (odrr.Read())//读取数据,如果odr.Read()返回为false的话,就说明到记录集的尾部了
{
maxU_id = odrr[0].ToString();
//MessageBox.Show(maxU_id);
cmd.CommandText = "INSERT INTO netvideo.n_user(u_id,u_name) VALUES('" + maxU_id + "','" + this.textBox1.Text.ToString() + "') ";//在这儿写sql语句
//MessageBox.Show("cmd.CommandText"+cmd.CommandText);
int odr = cmd.ExecuteNonQuery();
if (odr > 0)//读取数据,如果odr.Read()返回为false的话,就说明到记录集的尾部了
{
//MessageBox.Show("添加成功!", "恭喜");
InsertSuccess();
}
else
{
MessageBox.Show("添加失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
conn.Close();
}
catch (Exception ee)
{
MessageBox.Show(ee.Message.ToString(), "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
public void InsertSuccess()
{
try
{
listView1.GridLines = true;//显示行与行之间的分隔线
listView1.FullRowSelect = true;//要选择就是一行
listView1.View = View.Details;//定义列表显示的方式
listView1.Scrollable = true;//需要时候显示滚动条
listView1.MultiSelect = false; // 不可以多行选择
listView1.HeaderStyle = ColumnHeaderStyle.Clickable;
listView1.Visible = true;//lstView可见
ListViewItem Item = new ListViewItem();
Item.SubItems[0].Text = this.textBox1.Text;
this.listView1.Items.Add(Item);//显示
}
catch (Exception ee)
{
MessageBox.Show(ee.Message.ToString(), "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}
本文介绍了一个使用C#实现ListView数据更新的例子。该方法通过点击按钮触发,避免了重复数据和错误的发生。文章展示了如何从数据库读取数据并将其显示在ListView控件中。
1440

被折叠的 条评论
为什么被折叠?



