当前位置:编程学习 > C#/ASP.NET >>

请教2个按钮的代码


通过"保存"按钮为数据库表添加一行数据,

通过"查询"按钮查找,输入"学号","姓名","年龄","性别","专业"

不会插图片

截面是这样的:
一共2个窗体
Form1
LAB1 textBOX1 LAB2 textBOX2 LAB3 textBOX3  LAB4 textBOX4 LAB5 textBOX5
datagriadview



查询"按钮

Form2

LAB1    textBOX1 

LAB2    textBOX2

LAB3    textBOX3

LAB4    textBOX4 
LAB5    textBOX5 

"保存"
--------------------编程问答-------------------- DataTable.Select
SqlConnection sqlConn = new SqlConnection("");
SqlCommand selCmd = new SqlCommand("Select * from 学生信息", sqlConn);  
sqlDa = new SqlDataAdapter(selCmd);
SqlCommandBuilder cmdBuilder = new SqlCommandBuilder(sqlDa);   
sqlDa.Fill(sqlDs);
DataGridView1.DataSource = sqlDs.Tables[0];


sqlDa.Update(sqlDs);
this.dataGridView1.DataSource = sqlDs.Tables[0];
--------------------编程问答-------------------- insert into 表 和select from 语句就行了,对数据库操作 --------------------编程问答--------------------
引用 2 楼 laomengzi 的回复:
insert into 表 和select from 语句就行了,对数据库操作

是要在WINFORM界面上直接添加的 --------------------编程问答--------------------

       public bool HandData(DataTable t)
        {
            SqlConnection con = null;
            try
            {
                con = GetCon();
                con.Open();
                SqlDataAdapter dt = GetSqlDataAdapter(con,t);

               return Convert.ToBoolean(dt.Update(t));
            }
            catch (Exception ex)
            {
                Console.Write(ex.Message);
                return false;
            }
            finally
            {
                if (con != null) con.Close();
            }
        }

SqlDataAdapter GetSqlDataAdapter(SqlConnection con, DataTable d)
        {
            SqlDataAdapter dt = new SqlDataAdapter();
            string sqlInsert = "insert into " + d.TableName + "(";
            string sqlUpdate = "update " + d.TableName + " set ";
            string sqlDelete = "delete " + d.TableName + " where ";

            foreach (DataColumn dc in d.Columns)    
            {
                sqlInsert += dc.ColumnName + ",";
                sqlUpdate +=dc.ColumnName + "=@" + dc.ColumnName + ",";
            }
            sqlInsert = sqlInsert.Substring(0, sqlInsert.Length - 1) + ")values(";
            sqlUpdate = sqlUpdate.Substring(0, sqlUpdate.Length - 1) + " where ";

            foreach (DataColumn dc in d.Columns)
            {
                sqlInsert += "@"+dc.ColumnName + ",";
            }
            sqlInsert = sqlInsert.Substring(0, sqlInsert.Length - 1) + ")";


            dt.InsertCommand = new SqlCommand(sqlInsert, con);
            dt.UpdateCommand = new SqlCommand(sqlUpdate, con);
            dt.DeleteCommand = new SqlCommand(sqlDelete, con);

            foreach (DataColumn dc in d.Columns)
            {
                SqlParameter sp = new SqlParameter("@" + dc.ColumnName, dc.DataType);
                sp.SourceColumn = dc.ColumnName;
                dt.InsertCommand.Parameters.Add(sp);

                sp = new SqlParameter("@" + dc.ColumnName, dc.DataType);
                sp.SourceColumn = dc.ColumnName;
                dt.UpdateCommand.Parameters.Add(sp);
            }

            DataTable dk = new DataTable();//sp_pkeys tblUser

            foreach (DataRow rw in dk.Rows)
            {
                sqlUpdate += rw[3].ToString().Trim() + "=@" + rw[3].ToString().Trim() + " and ";
                sqlDelete += rw[3].ToString().Trim() + "=@" + rw[3].ToString().Trim() + " and ";

                SqlParameter sp = new SqlParameter("@" + rw[3].ToString().Trim(), SqlDbType.VarChar);
                sp.SourceColumn = rw[3].ToString().Trim();
                dt.DeleteCommand.Parameters.Add(sp);
            }

            sqlUpdate = sqlUpdate.Substring(0, sqlUpdate.Length - 4);
            sqlDelete = sqlDelete.Substring(0, sqlDelete.Length - 4);

            dt.UpdateCommand.CommandText = sqlUpdate;
            dt.DeleteCommand.CommandText = sqlDelete;

            return dt;



        }
        //
        调用:bool result = HandData(datagriadview1.DataSource as DataTable);
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,