十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
我猜你是想通过两个不用的sub对一个listview进行操作:
创新互联建站专注于企业成都全网营销推广、网站重做改版、庄河网站定制设计、自适应品牌网站建设、成都h5网站建设、电子商务商城网站建设、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为庄河等各大城市提供网站开发制作服务。
如果你的第一次操作是放在sub form_load()中,因为vb.net只为每个窗体提供了一个form_load,就是窗体运行时自动加载的项。你的第二次操作不再放在form_load()中系统就没办法自动再加载你的第二次操作,要用事件触发再能完成你的第二次操作.
1:读取数据库,前提你必须会读取sqlserver数据库,返回datatable
2:绑定到dgv上
3:导出到excel文件。
内存 的释放会由clr 自动释放,你不用管这个。
这里是一个按钮 导入Excel数据到 数据库,刷新datagridview。
//导入Excel数据
private void tsBtnCopy_Click(object sender, EventArgs e)
{
DialogResult dresult = this.openFileDialog1.ShowDialog();
if (dresult == DialogResult.OK)
{
string filepath = openFileDialog1.FileName;
if (filepath == "")
{
MessageBox.Show("请选择要导入的Excel文档!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
try
{
DataSet ds = new DataSet();
//取得数据集
//调用下面的函数
ds = xsldata(filepath);
//dataGridView2.DataSource = ds.Tables[0];
int errorcount = 0;//记录错误信息条数
int updatecount = 0;//更新信息条数
int insertcount = 0;//记录插入成功条数
string mess = "";
for (int i = 0; i ds.Tables[0].Rows.Count; i++)
{
StudentsModel stuModel = new StudentsModel();
stuModel.StuID = Guid.NewGuid().ToString();
stuModel.CenterID = CentersManager.manager.GetList("").Tables[0].Rows[0]["CenterID"].ToString();
stuModel.StuName = ds.Tables[0].Rows[i][0].ToString();
stuModel.Sex = ds.Tables[0].Rows[i][1].ToString();
stuModel.School = ds.Tables[0].Rows[i][2].ToString();
stuModel.Grade = ds.Tables[0].Rows[i][3].ToString();
stuModel.LinkWay = ds.Tables[0].Rows[i][4].ToString();
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[i][5].ToString()))
{
try
{
stuModel.BirthDay = Convert.ToDateTime(ds.Tables[0].Rows[i][5].ToString());
}
catch
{
mess+="第" + (i + 1) + "条数据生日格式不正确!\n";
}
}
stuModel.ParentName = ds.Tables[0].Rows[i][6].ToString();
stuModel.ParentLink = ds.Tables[0].Rows[i][7].ToString();
stuModel.Desc = ds.Tables[0].Rows[i][8].ToString();
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[i][9].ToString()))
{
try
{
stuModel.CreateTime = Convert.ToDateTime(ds.Tables[0].Rows[i][9].ToString());
}
catch
{
mess+="第" + (i + 1) + "条数据注册时间格式不正确!\n";
}
}
stuModel.EndEditTime = DateTime.Now.Date;
DataTable stuTable = StudentsManager.manager.GetList(" StuName='" + stuModel.StuName + "' and ParentName='" + stuModel.ParentName + "' and ParentLink='"+stuModel.ParentLink+"' ").Tables[0];
if (stuTable.Rows.Count == 1)
{
string id = stuTable.Rows[0]["StuID"].ToString();
stuModel.StuID = id;
bool updateResult = StudentsManager.manager.Update(stuModel);
if (updateResult)
updatecount++;
else
errorcount++;
}
else
{
bool result = StudentsManager.manager.Add(stuModel);
if (result)
insertcount++;
else
errorcount++;
}
}
MessageBox.Show(insertcount + "条数据导入成功!"+updatecount+"条数据更新成功!\n\n" +mess+"出错数据导入为空!") ;
Binddgv();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
private DataSet xsldata(string filepath)
{
string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties='Excel 8.0;IMEX=1'";
System.Data.OleDb.OleDbConnection Conn = new System.Data.OleDb.OleDbConnection(strCon);
string strCom = "SELECT * FROM [Sheet1$]";
Conn.Open();
System.Data.OleDb.OleDbDataAdapter myCommand = new System.Data.OleDb.OleDbDataAdapter(strCom, Conn);
DataSet ds = new DataSet();
myCommand.Fill(ds, "[Sheet1$]");
Conn.Close();
return ds;
}
1、首先新建一个Windows应用程序,将主窗体重命名为MainForm,在MainForm中加入一个DataGridView控件,命名为dgv_User。
2、打开窗体代码窗口,在代码窗口中声明一个ComboBox的控件
// 定义下拉列表框
private ComboBox cmb_Temp = new ComboBox();
3、方法:
/// summary
/// 绑定下拉列表框
/// /summary
private void BindSex()
{
DataTable dtSex = new DataTable();
dtSex.Columns.Add("Value");
dtSex.Columns.Add("Name");
DataRow drSex;
drSex = dtSex.NewRow();
drSex[0] = "1";
drSex[1] = "";
dtSex.Rows.Add(drSex);
drSex = dtSex.NewRow();
drSex[0] = "0";
drSex[1] = "";
dtSex.Rows.Add(drSex);
cmb_Temp.ValueMember = "Value";
cmb_Temp.DisplayMember = "Name";
cmb_Temp.DataSource = dtSex;
cmb_Temp.DropDownStyle = ComboBoxStyle.DropDownList;
}
在配置文件app.config中加入
appSettings
add key="LotDBConnection" value="DATA SOURCE=数据库连接;PASSWORD=密码;PERSIST SECURITY INFO=True;USER ID=登录名"/
/appSettings
//m_SqlPath 存放SQL语句的XML文件
Dim sqlHelper As New SQLHelper("LotDBConnection")
Dim sqlRead As New ResourceHelper
Dim ht As New Hashtable
Dim strSQL As String
Try
'设置SQL文参数
ht.Clear()
ht.Add(ColumnName.USER_ID.ToString, Trim(Me.txtUserID.Text))
ht.Add(ColumnName.USER_NAME.ToString, Trim(Me.txtUserName.Text))
'数据查询
strSQL = sqlRead.GetSQLSentence("GetUserList", m_SqlPath, ht)
ds = sqlHelper.ExecuteDataSet(strSQL)
If ds.Tables(0).Rows.Count = 0 Then
MessageBox .Show ("数据不存在");
Else
'数据绑定
dgvUserMeisai.DataSource = ds.Tables(0)
End If
Catch ex As Exception
MessageBox .Show (ex.Message );
Finally
sqlHelper = Nothing
sqlRead = Nothing
ht = Nothing
End Try