扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
oracle语句带参数查询在vb.net中的应用。
创新互联建站基于成都重庆香港及美国等地区分布式IDC机房数据中心构建的电信大带宽,联通大带宽,移动大带宽,多线BGP大带宽租用,是为众多客户提供专业服务器托管报价,主机托管价格性价比高,为金融证券行业资阳主机托管,ai人工智能服务器托管提供bgp线路100M独享,G口带宽及机柜租用的专业成都idc公司。
1、创建数据库连接:
Dim myConnection As OleDbConnection
Dim myOracleDataAdapter As OleDbDataAdapter
myConnection = New OleDbConnection("Provider=OraOLEDB.Oracle.1;Data _
Source=OraDb_192.168.1.148;user id=scott;password=tiger")
myOracleDataAdapter = New OleDbDataAdapter("select * from user_tables", myConnection)
Dim myDataSet As DataSet = New DataSet()
Dim myDataRow As DataRow
myOracleDataAdapter.Fill(myDataSet, "user_tables")
Console.WriteLine(myDataSet.Tables("dept").Rows(0)(0))
Console.WriteLine(myDataSet.Tables("user_tables").Columns(0).ColumnName)
Console.ReadLine();
2、如果用户按照上面所示输入 CLERK,则数据库接收的命令文本如下:
select count(ename) from emp where job = 'CLERK'
执行结果如下:
cmd.CommandText = "select count(ename) from emp where " _
+ "job = '" + TextBox1.Text + "'" ' VB.NET
VB.NET可选参数的默认值必须是一个常数表达式。
过程定义中跟在可选参数后的每个参数也都必须是可选的。
下面的语法显示带VB.NET可选参数的过程声明:
Sub sub name(ByVal parameter 1 As data type 1,
Optional ByVal parameter 2 As data type 2 = default value)
调用带VB.NET可选参数的过程
过程在运行时无法检测到给定的参数是否已被省略,或者调用代码是否已显式提供默认值。如果需要弄清楚这一点,可以设置一个不可能的值作为默认值。下面的过程定义了可选参数 office,并测试其默认值 QJZ 以查看它在调用中是否已被省略:
Visual Basic
Sub notify(ByVal company As String, Optional ByVal office As String = "QJZ")
If office = "QJZ" Then
Debug.WriteLine("office not supplied -- using Headquarters")
office = "Headquarters" End If
' Insert code to notify headquarters or specified office.
End Sub
如果可选参数是像 String 这样的引用类型,只要它不是该变量所预期的值,就可以使用 Nothing 作为默认值。
VB.NET可选参数和重载
定义带可选参数的过程的另一种方法是使用重载。如果有一个可选参数,可以定义过程的两个重载版本,一个接受此参数,另一个则不带参数。此方法随可选参数数目的增加而变得更复杂。然而,这样做的优点是可以完全确定调用程序是否提供了每个VB.NET可选参数。
public class threadclass
{
public int a;
public void threadmethod()
{
//use a;
}
}
...
threadclass tc = new ....
tc.a = 10;
Thread t = new ThreadStart(tc.threadmethod);
t.Start
public structure struc
public name as string
public shengao as integer
……
end structure
public items as struc()
readonly property people(argname as string) as struc
get
for each i as struc in items
if i.name=argname then reture i
next
end get
end property
struc可以用class,property可以用function,people通过参数返回一个对象,对象可以来源于某个数组的某个元素,也可以是其他来源。
people也可以是类的构造方法,而shengao等是类的成员,但你的写法是错误的,构造方法必须用new实例化
可试试下面的方法:
1.可接收参数的外部程序
/// summary
/// 可接收参数的外部程序主函数
/// /summary
static class Program
{
/// summary
/// The main entry point for the application.
/// /summary
[STAThread]
static void Main(string[] paras)
{
string temp = "";
foreach (string str in paras)
{
temp += str + ",";
}
MessageBox.Show(temp);
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
2.启动外部程序的方法(给外部程序加参数)
/// summary
/// 调用外部程序窗体
/// /summary
public partial class Invokeprogram : Form
{
public Invokeprogram()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.FileName = Application.StartupPath + "\\WindowsFormsApplication1.exe";
proc.StartInfo.Arguments = "-steam -game cstrike"; //传入启动参数
proc.Start();
//string output = proc.StandardOutput.ReadToEnd();
// MessageBox.Show(output);
}
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流