2015年地基沉降软件开发_第1页
2015年地基沉降软件开发_第2页
2015年地基沉降软件开发_第3页
2015年地基沉降软件开发_第4页
2015年地基沉降软件开发_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

XX大学

《数据库技术及应用》

项目实验报告

地基沉降软件开发

一,项目意义

本学期我们学习了数据库技术,利用Vb.net和数据库的联接使

用,我们设计了一套直接利用两种简便方法计算地基沉降量的功能较

完备的计算软件,能够很便捷的计算和调用各类数据。本软件根据《土

质学与土力学》中有关地基沉降的计算方法,并联合各经验土质数据

库,做成简易的矩形及圆形基础地基沉降量的计算软件。

由于在地基沉降量计算过程中需要调用很多参数,且计算量颇为

繁琐,现将其参数表作为数据表存储,用户只需输入各个土层及基础

数据即可得出地基沉降量,省时省力。

简易的计算软件,可以对手算的结果进行校核。

二,卷体网犍卷针

1,本软件分别用两种方法计算地基沉降量,可根据用户需求选

择不同的方法计算。

2,直接调用数据库中参数值与用户所输入的条件计算出地基沉

降量,并作暂时的存储。

3,根据不同情况,用户可选择不同方法计算。

4,用户可对以往数据进行查询。

5,制作经验数据库,以供用户参阅,进而提供合适的经验系数。

三.需京今新

1,现在工程上常需进行土力学各方面数据的计算,但有关这方面的

计算软件一般都是很大型的,偏于科研性质,我们设计的这个小软件

用途很单一,却很简洁明了,适应于一般的工程中。

2,地基沉降量的计算软件应客户需求,应该有纠错功能,即当各类

条件不合理时提出报警,如此可以很大程度上减小错误,而因为有两

种不同的方法进行计算,也可以对计算结果进行校核,用户对两个结

果的取用也视情况而定。

3,用户常需对以往的计算进行查询,在查询栏里,可以直接查询上

次计算所得结果,而另外的计算条件则存储在数据库里,以供参阅。

4,工程上的实际沉降量与软件计算结果常常存在误差,所以在软件

开发中可以进行经验土质数据的存储与更新,用户可根据这些数据来

选择经验系数。

5,.系统用户

系统准备提供给以下三类用户使用:

A.进行地基沉降量的计算与校核的中小型工地。

B.大学生科研探索小队

C.需进行多次地基沉降试验的学生及教师。

6,本软件达五级范式。

四.功犍极竹界面及代码简要

1,初始界面

简单的封面。

PrivateSubForm9_Load(ByVaisenderAsSystem.Object,ByVaieAsSystem.EventArgs)Handles

MyBase.Load

mypose=1

mytitle=”欢迎使用同济大学地基沉降简易计算软件”

Me.Timerl.Start()

EndSub

PrivateSubTimerl_Tick(ByValsenderAsSystem.Object,ByVaieAsSystem.EventArgs)Handles

Timerl.Tick

mystring=Mid(mytitle,mypose,1)

Me.Text=Me.Text&mystring

Ifmypose>Len(mytitle)Then

Me.Text=""

mypose=1

EndIf

mypose十=1

IfnThen

Labell.Visible=True

n=False

Else

Labell.VisibleFalse

n=True

EndIf

EndSub

PrivateSubForm9_Doub1eC1ick(ByVa1senderAsObject,ByVaieAsSystem.EventArgs)Handles

MyBase.DoubleClick

Me.ShowInTaskbar=False

Me.HideO

Me.AxMediaPlayerl.Stop()

Me.Timerl.Stop()

fuchuangti.Show()

主操作界面

各类基本操作均在此主界面上

PrivateSubForml_Load(ByVaisenderAsSystem.Object,ByVaieAsSystem.EventArgs)Handles

MyBase.Load

we1come.AxMediaP1ayerl.Stop()

EndSub

PrivateSubMenuIteml7_Click(ByValsenderAsSystem.Object,ByVaieAsSystem.EventArgs)

HandlesMenulteml7.Click

definefoundation=NewForm2

definefoundation.Show()

definefoundation.form21oad()

EndSub

PrivateSubMenuIteml8_Click(ByValsenderAsSystem.Object,ByVaieAsSystem.EventArgs)Handles

Menulteml8.Click

definesoil=NewForm3

definesoil.Show()

definesoil.form31oad()

EndSub

PrivateSubMenuIteml9_Click(ByVaisenderAsSystem.Object,ByVaieAsSystem.EventArgs)Handles

MenuItern19.Click

definewater1eve1=NewForm4

definewaterlevel.Show()

EndSub

PrivateSubMenuItem20Click(ByValsenderAsSystem.Object,ByVaieAsSystem.EventArgs)

HandlesMenuItem20.Click

defineload=NewForm5

defineload.Show()

EndSub

PrivateSubMenuItem22_Click(ByVaisenderAsSystem.Object,ByVaieAsSystem.EventArgs)

HandlesMenultem22.Click

solvetan=NewForm6

solvetan.Show()

EndSub

基础定义界面

进行基础长宽,深度的输入。

PrivateSubRadioButton1_CheckedChanged(ByVa1senderAsObject,ByVaieAsSystem.EventArgs)

HandlesRadioButtonl.CheckedChanged

IfRadioButtonl.CheckedThen

TextBoxl.Enabled=True

TextBox2.Enabled=True

TextBox3.Enabled二False

Else

TextBoxl.Enabled=False

TextBox2.Enabled=False

TextBox3.Enabled=True

EndIf

EndSub

PrivateSubButtonl_Click(ByVaisenderAsSystem.Object,ByVaieAsSystem.EventArgs)Handles

Buttonl.Click

r=Vai(Me.TextBox3.Text)

a=Vai(Me.TextBox2.Text)

b=Vai(Me.TextBoxl.Text)

h=Vai(Me.TextBox4.Text)

IfRadioButtonl.CheckedThen

Ifa<=0Then

MsgBox("长度必须大于0,请重新输入!〃)

EndIf

Ifb<=0Then

MsgBox(〃宽度必须大于0,请重新输入!〃)

EndIf

Ifh<0Then

MsgBox("深度不能小于0,请重新输入!〃)

EndIf

Ifa>0Andb>0Andh>=0Then

Me.HideO

EndIf

Else

Ifr<=0Then

M$88。*("半径必须大于0,请重新输入!〃)

EndIf

Ifh<0Then

MsgBox(〃深度不能小于0,请重新输入!〃)

EndIf

Ifr>0Andh>=0Then

Me.HideO

EndIf

EndIf

EndSub

PrivateSubButton2_Click(ByVaisenderAsSystem.Object,ByVaieAsSystem.EventArgs)Handles

Button2.Click

Me.HideO

EndSub

土层定义界面

进行土层个性质的输入并储存在数据库中土层定义表里,以供之后的

计算及查询。

Functionform31oad()

Me.SqlDataAdapterl.Fill(Me.DataSet11,“土层定义表”)

Me.DataSetIL土层定义表.Clear()

Me.SqlDataAdapterl.Update(Me.DataSet11.上层定义表)

Me.DataSetll.AcceptChangesO

mybind=Me.BindingContext(Me.DataSetll,”土层定义表”)

'MsgBox(mybind.Count)

DininumberAsIntl6二0

Fornumber=0Tomybind.Count-1

Me.DataSetll.土层定义表.Rows(number).Delete()

Next

mybind.EndCurrentEdit()

Me.SqlDataAdapterl.Update(Me.DataSetll.土层定义表)

'MsgBox(mybind.Count)

mybind.AddNew()

Me.TextBoxl.Text=1

'MsgBox(mybind.Count)

Me.TextBoxl.Enabled=False

EndFunction

PrivateSubButton1_C1ick(ByVaisenderAsSystem.Object,ByVaieAsSystem.EventArgs)Handles

Buttonl.Click

IfMe.TextBoxl.Text=OrMe.TextBox3.Text=""OrMe.TextBox4.Text=〃"Then

MsgBox(〃土层信息不完整,请检查后重新输入!〃)

Else

DimsoilhAsSingle=Vai(Me.TextBox3.Text)

DimsoilwAsSingle=Vai(Me.TextBox4.Text)

'MsgBox(soilw)

Ifsoilw<=10Then

MsgBox(〃上的重度不会小于10KN/m3,请查证后输入〃)

Else

Ifsoilh<二0Then

MsgBox(〃土层厚度不能小于0,请重新输入〃)

Else

mybind.EndCurrentEdit0

Me.SqlDataAdapterl.Update(Me.DataSetll.土层定义表)

Me.DataSetll.AcceptChanges()

MsgBox("该土层定义成功!”)

EndIf

EndIf

EndIf

EndSub

PrivateSubButton2_Click(ByVaisenderAsSystem.Object,ByVaieAsSystem.EventArgs)Handles

Button2.Click

Me.TextBoxl.Enabled=True

mybind.AddNew()

Me.TextBoxl.Text=mybind.Count

Me.TextBoxl.Enabled=False

'MsgBox("下一层土为第"&mybind.Count&"层")

EndSub

地下水位输入界面及荷载大小输入界面(简)

分层总和法计算界面

列出已经输入并需要用到的各类数据以供用户检查,若检查合格可直

接计算,反之可重新定义参数。以下为算法实现过程。

请确认个彦羲定义是否正确

土层及各层性质

土层号土层名称土层厚度压缩模量泊松比土的重度

►1nt3.250.519

2st3:50.520

a基础半径r=2m

基础深度h=2m地下水位深度wh=2.1

m

荷载大小为F=20KH

确定重新定义参数

’在已知长宽比和深宽比的条件下求解矩形基础应力系数

FunctionYinglixishuju(ByVainlAsSingle,ByVainAsSingle,ByVain2AsSingle,ByVaiml

AsSingle,ByVaimAsSingle,ByVaim2AsSingle)AsSingle

'连接数据库

DimmyconnlAsSqlClient.SqlConnection=NewSqlClient.SqlConnection(,zdata

source=SALAN;integratedsecurity=SSPI;initialcatalog二地基沉降”)

DimmycommdAsNewSqlClient.SqlCommand

mycommd.Connection=myconnl

myconnl.Open()

DimmysqlstrlAsString="select应力系数from矩形中点应力系数表where深宽比=z,&ml

&"and长宽比="&nl

Dimmysqlstr2AsString="select应力系数from矩形中点应力系数表where深宽比="&ml

&"and长宽比=〃&n2

Dimmysqlstr3AsString="select应力系数from矩形中点应力系数表where深宽比="&m2

&"and长宽比二〃&nl

Dimmysqlstr4AsString="select应力系数from矩形中点应力系数表where深宽比="&m2

&"and长宽比="&n2

Dimxl,yl,x2,y2AsSingle

mycommd.CommandText=mysqlstrl

xl=mycommd.ExecuteScalar

'MsgBox("nil="&ml&"nl="&nl)

'MsgBox(xl)

mycommd.CommandText=mysqlstr2

x2=mycommd.ExecuteScalar

'MsgBox("ml="&ml&"nl=〃&n2)

*MsgBox(x2)

mycommd.CommandText=mysqlstr3

yl=mycommd.ExecuteScalar

'MsgBox("ml="&m2&"nl="&nl)

'MsgBox(yl)

mycommd.CommandText=mysqlstr4

y2=mycommd.ExecuteScalar

'MsgBox("ml="&m2&*nl=*&n2)

'MsgBox(y2)

myconnl.Close()

DimtempiAsSingle

Dimtemp2AsSingle

tempi=(n-nl)*(x2)/(n2-nl)+(n2-n)*xl/(n2-nl)‘两次线性插

值法求解应力系数

temp2=(n-nl)*(y2)/(n2-nl)+(n2-n)*yl/(n2-nl)

Dinitemp3AsSingle

temp3=(m-ml)*temp2/(m2-ml)+(m2-m)*tempi/(m2~ml)'第三次线性

插值

Returntemp3'返回应

力系数

EndFunction

‘圆形应力系数的计算

FunctionYinglixishuYuan(ByVaimlAsSingle,ByVaimAsSingle,ByVaim2AsSingle)AsSingle

DimmyconnAsSqlClient.SqlConnection=NewSqlClient.SqlConnection(z/data

source=SALAN;integratedsecurity=SSPI;initialcatalog=地基沉降”)

DinimyconundAsNewSqlClient.SqlCommand

mycommd.Connection=myconn

DinimyreaderAsSqlClient.SqlDataReader

DimmysqlstrlAsString=/zselect应力系数from圆形应力系数表where深与半径比="&ml

Dimmysqlstr2AsString=""select应力系数from圆形应力系数表where深与半径比="&m2

DimxlAsSingle

Dimx2AsSingle

myconn.Open()

mycommd.CommandText=mysqlstrl

xl=mycommd.ExecuteScalar

'MsgBox(xl)

mycommd.CommandText=mysqlstr2

x2=mycommd.ExecuteScalar

'MsgBox(x2)

myconn.Close()

DimtempAsSingle

temp=(m-ml)*x2/(m2-ml)+(m2-m)*xl/(m2-ml)

Returntemp

EndFunction

Functionform?load()

solvefenceng.DataGridl.DataSource=definesoi1.DataSet11.土层定义表

definesoil.SqlDataAdapterl.Fill(definesoil.DataSet11,“土层定义表”)

Ifdefinefoundation.RadioButton2.CheckedThen

Me.Label2.Visible=False

Me.Label1.Text="基础半径r=〃&r&〃m"

Else

Me.Labe11.Text="基础长度&a&〃m〃

Me.Labe12.Text=〃基础宽度b=〃&b&〃m〃

Me.Label2.Visible=True

EndIf

Me.Label3.Text=〃基础深度h="&h&〃

Me.Label4.Text="地下水位深度wh="&wh&〃m”

Me.Label5.Text=〃荷载大小为&F&〃KN”

EndFunction

PrivateSubButtonlClick(ByValsenderAsSystem.Object,ByVaieAsSystem.EventArgs)Handles

Buttonl.Click

'Me.Hide。

DimmaxhAsSingle=0'最大分层厚度

Ifdefinefoundation.RadioButtonl.CheckedThen

maxh=0.1*b

'MsgBox("测试1点"&maxh)

Else

maxh=0.1*r

EndIf

DimmytableAsDataTable

mytable=definesoil.DataSet11.土层定义表

'MsgBox(mytable.Rows.Count)

DimpointAsIntl6

DiniheightAsSingle=0

'开始分层,确定基础在哪层土

'MsgBox(mytable.Rows.Count)

Forpoint=0Tomytable.Rows.Count-1

height+=mytable.Rows(point).Item("土层厚度”)

Ifheight>hThen

ExitFor

EndIf

Next

'MsgBox("wowowoo"&point)

*MsgBox(height)

Ifheight<hThen

height=h'当基础深度深于定义的土层厚度时,以最下面一层土作为

计算上层

EndIf

Ifpoint=mytable.Rows.CountThen

point=point-1

EndIf

'对基础深度小于定义土层厚度的分层计算

DimhlAsSingle二0

Dimh2AsSingle=h

DimPcAsSingle二0'自重应力

DimPz,Pzl,Pz2AsSingle'附加应力

DiniPiAsSingle二0'平均附加应力

DimalAsSingle=0'附加应力系数

DimsAsSingle=0'沉降量

Ifdefinefoundation.RadioButtonl.CheckedThen

'确定长宽比在什么范围,以便从数据库中查出相应的系数表

DimnAsSingle'长宽比

DimnlAsSingle=1.0

Dimn2AsSingle=0

n=a*1.0/(b*1.0)

'MsgBox(n)

Ifn<1Then'保证长宽比大于等于1小于等于10

n=1/n

'MsgBox(n)

EndIf

Ifn>10Then

n=10

EndIf

'MsgBox(n)

Ifn>=1Andn<2Then

Fornl=1To1.8Step0.2

Ifn>nlAndn<nl+0.2Then

nl=nl

n2=nl+0.2

ExitFor

EndIf

Next

EndIf

Ifn>=2Andn<5Then

Fornl=2To5

Ifn>=nlAndn<nl+1Then

nl=nl

n2=nl+1

ExitFor

EndIf

Next

EndIf

Ifn>=5Andn<=10Then

nl=5

n2二10

EndIf

Pc=mytable.Rows(0).Item(〃土的重度")*h'基础底部自重应力

Pz=F/(a*b)-Pc+20*h'基础底部附加应

Pzl=Pz

Pz2=0

'连接数据库

'DimmyconnlAsSqlClient.SqlConnection=NewSqlClient.SqlConnection(z,data

source=SALAN;integratedsecurity=SSPI;initialcatalog=地基沉降”)

'DimmycommdAsNewSqlClient.SqlCommand

'mycomnid.Connection=myconnl

'mycommd.CommandText="select*from矩形中点应力系数表where长宽比="&nl&"or

长宽比二〃&n2

'DimmyadpaterAsSqlClient.SqlDataAdapter=NewSqlClient.SqlDataAdapter(mycommd)

'DimmydatasetAsNewDataSet

'myadpater.Fill(mydataset,“矩形中点应力系数表”)

,solve3.DalaGridl.DataSource=mydataset.Tables(0)

*solve3.Show()

DimmAsSingle=0

Dimml,m2AsSingle

s=0

//////////////////////////////////////////////////////////////////////////////////////////

//

Do

hl+=maxh

h2+二maxh

Ifh2>heightAndpoint<mytable.Rows.Count-1Then

MsgBox("sasa"&point)

point+=1

MsgBoxC*sajadksajdlksjdajksajdsjdsl?/&point)

height+=mytable.Rows(point).Item(〃土层厚度")'自重应力计算

EndIf

Ifh2>whThen

'MsgBox(〃PPPPC〃&Pc)

*MsgBox(point)

Pc=Pc+maxh*mylable.Rows(point).土的重度”)-10*maxh

'MsgBox("Pc"&Pc)

Else

Pc=Pc+maxh*mytable.Rows(point).Item("土的重度")

'MsgBox("Pc"&Pc)

EndIf

确定深宽比山以及范围[ml,m2]

m=hl/b's深宽比

Ifm>5Thenm=5

Ifm>=0Andm<2.0Then

Forml=0To2.0Step0.2

Ifm>=mlAndm<ml+0.2Then

ml二ml

m2=ml+0.2

ExitFor

EndIf

Next

EndIf

Ifm>=2.0Andm<4.0Then

Forml=2.0To4.0Step0.5

Ifm>=mlAndm<=ml+0.5Then

ml=ml

m2=ml+0.5

ExitFor

EndIf

Next

EndIf

Ifm>=4.0Andm<=5Then

ml=4.0

m2=5.0

EndIf

al二Yinglixishuju(nl,n,n2,ml,m,m2)

'MsgBox(al)

Pz2=Pz*al

s+=(Pzl+Pz2)*maxh/(2*mytable.Rows(point).Item("压缩模量”))

Pzl=Pz2

'MsgBox(〃Pzl"&Pzl)

'MsgBox(s)

LoopWhilePzl>0.1*Pc

MsgBox(〃此基础的沉降量为〃&s&"cm")

Me.Hide()

si=s

Else

Pc二mytable.Rows(0).Item(〃土的重度")*h'基础底部自重应力

Pz=F/(3.14159*r*r)-Pc+20*h'基础底部

附加应力

Pzl=Pz

Pz2二0

s=0

DimmAsSingle=0

Dimml,m2AsSingle

,,//////////////////////////////////////////////////////////////////////////////////////////

//

Do

hl+=maxh

h2+二maxh

Ifh2>heightAndpoint<mytable.Rows.Count-1Then

point+二1

height+=mytable.Rows(point).Item("土层厚度〃)'自重应力计算

MsgBox(mytable.Rows(point).Ilem("土层厚度”))

EndIf

Ifh2>whThen

Pc=Pc+maxh*mytable.Rows(point).Item("土的重度”)-10*maxh

'MsgBox(〃Pc"&Pc)

Else

Pc=Pc+maxh*mytable.Rows(point).Ilem(〃土的重度”)

MsgBoxC'Pc"&Pc)

EndIf

'确定深宽比m以及范围[ml,m2]

m=hl/r’深度与半径的比值

Ifm>6.0Thenm=6.0

Ifm>=0Andm<3.0Then

Forml=0To3.0Step0.2

Ifm>=mlAndm<ml+0.2Then

ml=ml

m2=ml+0.2

ExitFor

EndIf

Next

EndIf

Ifm>=3.0Andm<5.0Then

Forml=3.0To5.0Step0.4

Ifm>=mlAndm<=ml+0.4Then

ml=ml

m2=ml+0.4

ExitFor

EndIf

Next

EndIf

Ifm>=5.0Andm<5.5Then

ml=5.0

m2=5.5

EndIf

Ifm>=5.5Andm<=6.0Then

ml=5.5

m2=6.0

EndIf

,MsgBox(ml&""&m&"&m2)

al二YinglixishuYuan(ml,m,m2)

JMsgBox(al)

Pz2=Pz*al

s+=(Pzl+Pz2)*maxh/(2*mytable.Rows(point).Item("压缩模量”))

Pzl=Pz2

'MsgBox("Pzl〃&Pzl)

'MsgBox(s)

LoopWhilePzl>0.05*Pc

si=s

MsgBox(〃此基础的沉降量为〃&s&〃cm〃)

EndIf

EndSub

应力面积法计算界面

列出已经输入并需要用到的各类数据以供用户检查,若检查合格可直

接计算,反之可重新定义参数。以下为算法实现过程。

应力面积法求解□0®

土层名称土层厚度压缩模量土的重度

土层号土层名称弹性模量(E)土层厚度(h)

I2I34I2I4

上移》下移《添加0K

计算结果

深度canshu2canshu3canshu4canshu5canshuB压缩模量

►210.234004

J220.19580.39160.39164

确定取消

DimlianjieAsNewSqlClient.SqlConnection(^initialcatalog=地基沉降;datasource=SALAN;

integratedsecurity=SSPI;")

DimshujujiAsNewDataSet

DimshipeiqicanshulAsString=select*from附加应力系数表〃

Dimshipeiqicanshu2Stringselect*from土层定义表”

Dimshipeiqicanshu3AsString=“select*from项目土层定义表〃

Dimshipeiqicanshu4AsString="selectfrom应力面积法计算过程”

Dimshipeiqi1NewSqlClient.Sq1DataAdapter(shipeiqicanshu1,1ianjie)

Dimshipeiqi2AsNewSqlClient.SqlDataAdapter(shipeiqicanshu2,lianjie)

Dimshipeiqi3NewSqlCllent.SqlDataAdapter(shipeiqicanshu3,1ianjie)

Dimshipeiqi4AsNewSqlClient.SqlDataAdapter(shipeiqicanshu4,lianjie)

PublicmybindAsBindingManagerBase

PubliclalaAsDataTable

Functionduquxishu(ByVaixAsSingle,ByVaiyAsSingle,ByVaizAsInteger)AsSingle

DimmAsInteger=0

DimnAsSingle

Ifz=1Then

DoWhilem<>-1

IfMath.Abs(shujuji.Tables(“系数表”).Rows(m).Item(0)-x)<=0.1And

Math.Abs(shujuji.Tables(“系数表〃).Rows(m).Item(l)-y)<=0.1Then

n=shujuji.Tables一系数表").Rows(m).Item(2)

m=-1

Else

m=m+1

EndIf

Loop

Else

DoWhilein<>-1

IfMath.Abs(shujuji.Tables("系数表”).Rows(m).Item(0)-x)<=2.5And

Math.Abs(shujuji.Tables("系数表").Rows(m).Item(1)-y)<=2.5Then

n=shujuji.Tables("系数表").Rows(m).Ilem(2)

m=T

Else

m=m+1

EndIf

Loop

EndIf

Returnn

EndFunction

PrivateSubForm8_Load(ByVaisenderAsSystem.Object,ByVaieAsSystem.EventArgs)Handles

MyBase.Load

shipeiqi2.Fil1(shujuji,〃土层定义表〃)

shipeiqil.Fill(shujuji,”系数表〃)

shipeiqi4.Fl11(shujuji,〃计算过程”)

DataGridl.DataSource=shujuji.Tables("土层定义表”)

Me.TextBoxl.DataBindings.Add("Text",shujuji,〃土层定义表.土层号〃)

Me.TextBox2.DataBindings.Add("Text",shujuji,〃土层定义表.土层名称〃)

Me.TextBox3.DataBindings.Add("Text",shujuji,〃土层定义表.土层厚度〃)

Me.TextBox4.DataBindings.Add(*Text/z,shujuji,〃土层定义表.压缩模量〃)

mybind=Me.BindingContext(shujuji,”土层定义表”)

DimqingkongyuanbiaoAsNewSqlClienl.SqlCommand(〃清空原表“,lianjie)

qingkongyuanbiao.CommandType=CommandType.StoredProcedure

lianjie.Open()

qingkongyuanbiao.ExecuteNonQuery()

lianjie.Close()

shipeiqi3.Fi11(shujuji,〃项目土层定义表〃)

PrivateSubButton4_C1ick(ByVaisenderAsSystem.Object,ByVaieAsSystem.EventArgs)Handles

Button4.Click

mybind.Position=mybind.Position-1

EndSub

PrivateSubButton5_Click(ByVa1senderAsSystem.Object,ByVaieAsSystem.EventArgs)Handles

Button5.Click

mybind.Position=mybind.Position+1

EndSub

PrivateSubButtonl_Click(ByVaisenderAsSystem.Object,ByVaieAsSystem.EventArgs)Handles

Buttonl.Click

DimtianjiatucengAsNewSqlClient.SqlCommand(〃添力口土层〃,1ianjie)

DimcanshulAsSqlClient.SqlParameter=tianjiatuceng.Parameters.Add(“@土层号〃,

System.Data.SqlDbType.Smalllnt)

Dimcanshu2AsSqlClient.SqlParameter=tianjiatuceng.Parameters.Add(“@土层名称”,

System.Data.SqlDbType.Char,20)

Dimcanshu3AsSqlClient.SqlParameter=tianjiatuceng.Parameters.Add(“@土层厚度”,

System.Data.SqlDbType.Real)

Dimcanshu4AsSqlClient.SqlParameter=tianjiatuceng.Parameters.Add(“@压缩模量”,

System.Data.SqlDbType.Real)

canshul.Value=TextBoxl.Text

canshu2.Value=TextBox2.Text

canshu3.Value=TextBox3.Text

canshu4.Value=TextBox4.Text

tianjiatuceng.CommandType=CommandType.StoredProcedure

lianjie.Open0

tianjiatuceng.ExecuteNonQuery()

lianjie.Close0

lala=shujuji.Tables(〃项目土层定义表”)

lala.Clear()

shipeiqi3.Fi11(lala)

DataGrid2.DataSource=lala

EndSub

PrivateSubButton2_Click(ByVaisenderAsSystem.Object,ByVaieAsSystem.EventArgs)Handles

Button2.Click

Dim计算过程AsDataTable

计算过程=shujuji.Tables(〃计算过程〃)

DimchushihuaAsNewSqlClient.SqlCommand(〃初始化计算过程”,lianjie)

chushihua.CommandType=CommandType.StoredProcedure

DimhangshuAsSqlClient.SqlParameter=chushihua.Parameters.Add("@hangshu”,

System.Data.SqlDbType.Int)

DimtucengshuAsNewSqlClient.Sq1Command("selectcount(*)from项目上层定义表

lianjie)

DimhangshulAsInteger

lianjie.Open()

hangshu.Value=tucengshu.ExecuteScalar+2

hangshul=tucengshu.ExecuteScalar

chushihua.ExecuteNonQuery()

lianjie.Close()

计算过程.Clear。

shipeiqi4.Fill(计算过程)

DimiAsInteger=1

DimzlAsSingle=0

Dimz2AsSingle=0

Dimz6AsSingle=0

Dimz7AsSingle=0

Dimz8AsSingle=0

DimzOAsSingle=0

DimpOAsSingle=0

pO=F/(a*b)

DimxAsInteger=1

DoWhilei<=hangshulAnd计算过程.Rows(i).Item(7)>=(计算过程.Rows(i-1).Item(8))

*0.025

计算过程.Rows(i+1).Item(0)=zO

zO+=lala.Rows(i-1).Item(2)

计算过程.Rows(i+1).Item(l)=a/b

zl=a/b

计算过程.Rows(i+1).Item(2)=zO/b

z2=zO/b

Ifzl>=3.2Orz2>=9Then

x二0

EndIf

Ifzl>=10Then

zl二10

Elselfz2>13Then

z2=13

EndIf

计算过程.Rows(i+1).Item(3)=duquxishu(z2,zl,x)

Ifi=1Then

计算过程.Rows(i+1).Item(4)=0

Else

计算过程.Rows(i+1).Item(4)=计算过程.Rows(i+1).Item(O)*计算过程.Rows(i

+1).Item(3)

EndIf

Ifi>1Then

计算过程.R°ws(i+1).Item(5)=计算过程.Rows(i+1).Item(4)-计算过

程.Rows(i).Item(4)

Else

计算过程.Rows(i+1).Item(5)=0

EndIf

计算过程.Ro\vs(i+1).Item(6)=lala.Rows(i-1).Item(3)

z6=lala.Rows(i-1).Item(3)

计算过程.Rows(i+1).Item(7)=(pO*计算过程.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论