把这段代码用C#写出来 谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/25 21:03:08
Sub GestionImpressionCarnet(Optional p_s_refOF As Variant, Optional p_s_refRadeau As Variant)

Dim l_s_mess As String
Dim l_s_sql As String
Dim l_re As New adodb.Recordset
Dim l_i_Carnet As Integer
Dim l_i_boucle As Integer
Dim l_b_ret As Boolean
Dim l_i_ret As Integer

On Error GoTo GestionImpressionCarnet_err

l_s_sql = "SELECT * FROM T_RADEAUX WHERE "
If (Not IsMissing(p_s_refRadeau)) Then
l_s_sql = l_s_sql & "C_NumRadeaux=" & TextSQL(p_s_refRadeau) & " "
Else
l_s_sql = l_s_sql & "C_NumOFPliage=" & TextSQL(p_s_refOF) & " AND C_Carnet <2 "
l_s_sql = l_s_sql & "ORDER BY C_IdOrdre "
End If
l_re.Open l_s_sql, g_db_new, adOpenDynamic, adLockPessimistic

If l_re.EOF Then

MsgBox "Il n'y a pas de radeaux dont le carnet doit re imprim

End If

Do While Not l_re.EOF

http://labs.developerfusion.co.uk/convert/vb-to-csharp.aspx

vb-to-csharp的转换..

但这个vb代码内有goto语句,,,你得先用if转换成正常的,,,再用这个工具吧.

adodb 改成用 ADO.net
On Error GoTo 改成
try {}catch {}

Dim l_i_Carnet As Integer 改成
int l_i_Carnet ;

谁有时间帮楼主改一下吧,呵呵,我是没有环境测试。。

不难但是麻烦! c#里也有adodb.Recordset

先用VB.NET编译
然后用反射打开 即可查看到C#代码

反射是一个.NET工具 可以反编译.NET代码 而且任意语言通用

好麻烦

看来高分也不能解决问题