string a, b, c; public Form1()
{
InitializeComponent();
} private void textBox1_TextChanged(object sender, EventArgs e)
{
a = textBox1.Text;
} private void textBox2_TextChanged(object sender, EventArgs e)
{
b = textBox2.Text;
} private void textBox3_TextChanged(object sender, EventArgs e)
{
c = textBox3.Text;
} private void button1_Click(object sender, EventArgs e)
{
if (a != null && b != null && c != null)
{ //listView1.Items.Clear();
SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=view;User ID=sa;Pwd=666666");
//连接口
{
try
{
conn.Open(); //打开连接
MessageBox.Show("已正确建立连接", "连接正确对话框");
}
catch (SqlException Sqle)
{
MessageBox.Show(Sqle.Message, "连接失败对话框");
return;
} string strCom = "Insert into vell (ID,name,nianling) Values('" + a + "','" + b + "','" + c + "')";//插入数据 SqlCommand MyCom = new SqlCommand(); //创建 Command 对象
MyCom.Connection = conn; //通过 MyCon 连接对象操作数据库
//MyCom.CommandType = CommandType.Text; //设置命令类型
MyCom.CommandText = strCom; //设置要执行的命
MyCom.ExecuteNonQuery(); //执n行命令
string strCom1 = " select * from vell ";
SqlCommand cmd = new SqlCommand(strCom1, conn);
this.listView1.Columns.Add("ID", 80, HorizontalAlignment.Center);
this.listView1.Columns.Add("name", 80, HorizontalAlignment.Center);
this.listView1.Columns.Add("nianling", 80, HorizontalAlignment.Center);
listView1.View = View.Details;
//listView1.GridLines = true;
SqlDataReader dr = cmd.ExecuteReader();//定义局部变量dr.
while (dr.Read())
{
ListViewItem Item = new ListViewItem();
Item.SubItems.Clear();
Item.SubItems[0].Text = dr["ID"].ToString();
ListViewItem.ListViewSubItem subItem1 = new ListViewItem.ListViewSubItem(Item, dr["name"].ToString());
ListViewItem.ListViewSubItem subItem2 = new ListViewItem.ListViewSubItem(Item, dr["nianling"].ToString());
Item.SubItems.Add(subItem1);
Item.SubItems.Add(subItem2);
listView1.Items.Add(Item);//显示 格式3 } conn.Close();
}
}
else
MessageBox.Show("输入错误请重新输入。");
} private void button2_Click(object sender, EventArgs e)
{
textBox1.Text = "";
textBox2.Text = "";
textBox3.Text = "";
}
问题:
1.在插入内容后可以正常显示了,但是在第二次插入后,就会把上次的显示再重复显示一遍连定义的ID和name,nianling,也会重复显示,很郁闷。
2。想问下在做数据库内容修改时候,应该用什么去做,我的想法是按ID进行为主键,要删除ID,其它的列旧可以删除了,有朋友介绍用GridView控件去做。。我也操作了下觉得很方便,比listview方便多了(显示和插入),可是有难度才有进步嘛求教下怎么做删除用什么控件好点。恩最好有个示例借鉴下。。或者实例。
我知道直接贴代码是很不好的。。谢谢大家帮忙,,。。新手。。会加油的 、
{
InitializeComponent();
} private void textBox1_TextChanged(object sender, EventArgs e)
{
a = textBox1.Text;
} private void textBox2_TextChanged(object sender, EventArgs e)
{
b = textBox2.Text;
} private void textBox3_TextChanged(object sender, EventArgs e)
{
c = textBox3.Text;
} private void button1_Click(object sender, EventArgs e)
{
if (a != null && b != null && c != null)
{ //listView1.Items.Clear();
SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=view;User ID=sa;Pwd=666666");
//连接口
{
try
{
conn.Open(); //打开连接
MessageBox.Show("已正确建立连接", "连接正确对话框");
}
catch (SqlException Sqle)
{
MessageBox.Show(Sqle.Message, "连接失败对话框");
return;
} string strCom = "Insert into vell (ID,name,nianling) Values('" + a + "','" + b + "','" + c + "')";//插入数据 SqlCommand MyCom = new SqlCommand(); //创建 Command 对象
MyCom.Connection = conn; //通过 MyCon 连接对象操作数据库
//MyCom.CommandType = CommandType.Text; //设置命令类型
MyCom.CommandText = strCom; //设置要执行的命
MyCom.ExecuteNonQuery(); //执n行命令
string strCom1 = " select * from vell ";
SqlCommand cmd = new SqlCommand(strCom1, conn);
this.listView1.Columns.Add("ID", 80, HorizontalAlignment.Center);
this.listView1.Columns.Add("name", 80, HorizontalAlignment.Center);
this.listView1.Columns.Add("nianling", 80, HorizontalAlignment.Center);
listView1.View = View.Details;
//listView1.GridLines = true;
SqlDataReader dr = cmd.ExecuteReader();//定义局部变量dr.
while (dr.Read())
{
ListViewItem Item = new ListViewItem();
Item.SubItems.Clear();
Item.SubItems[0].Text = dr["ID"].ToString();
ListViewItem.ListViewSubItem subItem1 = new ListViewItem.ListViewSubItem(Item, dr["name"].ToString());
ListViewItem.ListViewSubItem subItem2 = new ListViewItem.ListViewSubItem(Item, dr["nianling"].ToString());
Item.SubItems.Add(subItem1);
Item.SubItems.Add(subItem2);
listView1.Items.Add(Item);//显示 格式3 } conn.Close();
}
}
else
MessageBox.Show("输入错误请重新输入。");
} private void button2_Click(object sender, EventArgs e)
{
textBox1.Text = "";
textBox2.Text = "";
textBox3.Text = "";
}
问题:
1.在插入内容后可以正常显示了,但是在第二次插入后,就会把上次的显示再重复显示一遍连定义的ID和name,nianling,也会重复显示,很郁闷。
2。想问下在做数据库内容修改时候,应该用什么去做,我的想法是按ID进行为主键,要删除ID,其它的列旧可以删除了,有朋友介绍用GridView控件去做。。我也操作了下觉得很方便,比listview方便多了(显示和插入),可是有难度才有进步嘛求教下怎么做删除用什么控件好点。恩最好有个示例借鉴下。。或者实例。
我知道直接贴代码是很不好的。。谢谢大家帮忙,,。。新手。。会加油的 、
解决方案 »
- (C# Web) DevExpress - ASPxGridView 与 快捷键
- 怎么让sqlite支持中文,谁解决了就给他100分
- 如何用for循环给控件的属性赋值
- udp通信中,如何得知通信伙伴的端口是否已经关闭
- vc写的视频OCX, 使c#窗体容器除ocx外其他部分不重画,如何解决?
- 有沒有這樣的日期組件。能輸入 :2006/09/12,並且還有萬年歷。
- 如何判断mdi主窗体是否可视?
- 问:在Windows程序中.如何给DataGrid分页,并且点击某一行后显示该行的详细信息?
- 关于在类中保存数据的问题
- 用WPF做的播放器,如何实现点击按钮播放列表显示和隐藏?
- CultureInfo ci = new CultureInfo("en-us");请问这句的含义
- C#屏幕旋转ChangeDisplaySettings无效?
protected void Delete_Click(object sender, EventArgs e)
{ LinkButton button = sender as LinkButton;
if (DeleteMem(button.CommandArgument))
{
//绑定数据在这里
((Label)this.Master.FindControl("ErrorMessage")).Text = "删除成功";
}
else
{
((Label)this.Master.FindControl("ErrorMessage")).Text = "人员删除失败";
}
}
public bool DeleteMem(string id)
{ try
{
//conn为数据库连接 conn.Open();
string sqlsentense = "Delete * FROM XXX Where id="+id+"";
SqlCommand sqlCmd = new SqlCommand(sqlsentense, conn); sqlCmd.ExecuteNonQuery(); return true; }
catch (Exception ex)
{
throw ex;
}
finally
{
conn.Close();
}
}<asp:LinkButton ID="Button2" runat="server" OnClientClick=" javascript:return confirm('确定要删除?')"
Text="删除" OnClick="Delete_Click" CommandArgument='<%#Eval("ID") %>' />
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
控件就是很平常的label,textbox,dropdownlist,Gridview,radiobutton,后台逻辑自己控制好就行我用asp.net 也就4个月,以前从Cidita用到Dreamweaver
<asp:GridView ID="GridView1" runat="server" CssClass="fixedheader" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="StaffCode" HeaderText="员工编号" ItemStyle-Width="30px" />
<asp:BoundField DataField="Password" HeaderText="密码" ItemStyle-Width="50px"/>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:LinkButton ID="Button2" runat="server" OnClientClick=" javascript:return confirm('确定要删除该人员?')" Text="删除" OnClick="Delete_Click" CommandArgument='<%#Eval("StaffCode") %>' />
</ItemTemplate>
</asp:TemplateField>
</asp:GridView>补充一下我用的gridview部分,可以参考
绑定数据使用统一方法如BindData()
using(SqlConnection conn=new SqlConnection(""))
{}绑定列表可用repeater,listview
而且你自已勉强做的东西可能会有bug。个人看法,不要见怪
<ItemTemplate>
<asp:LinkButton ID="Button1" runat="server" Text="编辑" OnClick="Edit_Click" CommandArgument='<%#Eval("StaffCode") %>' />
</ItemTemplate>
</asp:TemplateField>
protected void Edit_Click(object sender, EventArgs e)
{
LinkButton button = sender as LinkButton;
if (true)
{ Response.Redirect("~/EditPerInfo.aspx?MemStatus=edit&MemberEdit="+button.CommandArgument+"");
}
else
{
;
}
}
通过跳转到另一个页面,查看详情并修改,把id这个参数作为request传过去
如图所示,该页面通过request["MemberEdit"]到数据库拿取数据并实现可上传功能