问题描述
privatevoidbutton1_Click(objectsender,EventArgse){stringconnString="DataSource=.;InitialCatalog=MySchool;PersistSecurityInfo=True;UserID=sa;Password=123456";SqlConnectionconnection=newSqlConnection(connString);stringsql="select*fromLogin";SqlDataAdaptersda=newSqlDataAdapter(sql,connection);DataSetds=newDataSet();sda.Fill(ds);dataGridView1.DataSource=ds.Tables[0];button1.Enabled=false;}privatevoidbutton2_Click(objectsender,EventArgse){}通过button1的Click事件,读取数据库表中的内容,显示到dataGridView1中。希望实现的结果:在窗体中直接修改dataGridView1中的数据,然后通过button2的Click时间将修改后的内容更新到数据库中。本人新手,命名上可能不规范,望海涵,希望知道的朋友们帮助,最好有代码。
解决方案
解决方案二:
sqlcomderbuilder
解决方案三:
VB的原理一样,转成C#就行'保存明细DimdtDetailAsDataTable=CType(Me.GrdDtl.DataSource,DataTable).GetChangesIfdtDetailIsNotNothingThenForEachdrAsDataRowIndtDetail.RowsSelectCasedr.RowStateCaseDataRowState.AddedDimDetailParaInfo()AsObject={dr("PSD_ID"),_IIf(IsDBNull(dr("PSD_Qty")),0,dr("PSD_Qty")),_IIf(IsDBNull(dr("PSD_Batch_No")),"",dr("PSD_Batch_No"))_}DBHelper.ExecuteNonQuery(trans,"UP_PurInStockD_ADD",DetailParaInfo)CaseDataRowState.ModifiedDimDetailParaInfo()AsObject={dr("PSD_ID"),_IIf(IsDBNull(dr("SeqNo")),0,dr("SeqNo")),_IIf(IsDBNull(dr("PSD_Batch_No")),"",dr("PSD_Batch_No"))_}DBHelper.ExecuteNonQuery(trans,"UP_PurInStockD_Update",DetailParaInfo)CaseDataRowState.DeletedDBHelper.ExecuteNonQuery(trans,"UP_PurInStockD_Delete",dr("PSD_ID",DataRowVersion.Original))EndSelectNextEndIf
解决方案四:
用这个试试。。。SqlBulkCopy。。。
解决方案五:
写个更新方法,直接读DGV里的数据更新过去呗
解决方案六:
解决方案七:
先存入dataset中,再分解提交