C#经验总结
一..net的类,方法
1. DataTable:
① DataTable.DataSet: 获取该表所属的 DataSet
注:返回的是一个DataSet
2. DataSet: DataSet中包含若干个DataTable
① Clone: 复制 DataSet 的结构,包括所有 DataTable 架构、关系和约束。不要复制任何数据
② Table: 获取包含在 DataSet 中的表的集合。
③ 获取原始值
MessageBox.Show(hanbaiRow[0, DataRowVersion.Original]);
MessageBox.Show(hanbaiRow[0, DataRowVersion. Current]);
hanbaiRow.EndEdit();是将Proposed值变为Current值
hanbaiRow.HanbaiNo = “1”; 得到的是Current值
3. DataAccess
① 出力パラメータ
iCommand.Parameters["@HakkoNo"].Direction= ParameterDirection.Output;
4. ComboBox
① DataSource: 获取或设置此 ListControl 的数据源。
5. MessageBox.Show(); 弹出对话框
6. 日期
① 系统日期
System.DateTime.Now.ToLongDateString()
System.DateTime.Now.ToString("yyyy'/'MM'/'dd");
② 日期转换成字符串:
System.IFormatProvider fmt=new System.Globalization.CultureInfo("en-US", true);
tb1.Text=(DateTime.Parse("06/16/04 08:14:04",fmt)).ToString("yyyy-MM-dd hh:mm:ss");
或者
DateTime d1=Convert.ToDateTime("2003-01-01 18:20:01");
③ 时间加减
DateTime currentTime = DateTime.Now;
DateTime oldTime = currentTime.AddMonths(-2);
④ 比较大小
int compareflg = DateTime.Compare(DateTime1, DateTime2);
7. 对数字处理
① tdbgHanbaiList.Columns[4].NumberFormat = "#,##0.0";
② Math.Round(Convert.ToDouble(3.545)+0.0001,2);
③ decimal
I. 加法:decimal.Add(d1, d2)
II. 减法:decimal. Subtract (d1, d2)
III. 乘法:decimal. Multiply (d1, d2)
IV. 除法:decimal. Divide (d1, d2)
V. 取整:decimal.Truncate(d)
8. 字符串处理
① string.ToString().Substring(0, 3);
Substring从0开始为第一位
9.
① 获取带有筛选视图的DataSet的正在被编辑的DataRow
DsHanbaiDetail.HanbaiDetailRow hanbaiDetailRow =
(DsHanbaiDetail.HanbaiDetailRow)dsHanbaiDetail.HanbaiDetail.DefaultView[tdbgHanbaiList.Row].Row;
DefaultView[tdbgHanbaiList.Row]为DataRowView类型
② DataTable.Select
DataTable table = DataSet1.Tables["Orders"];
DataRow[] foundRows = table.Select("Date > '1/1/00'", "CompanyName DESC");
10. 为控件动态赋值
#region button1_Click
private void button1_Click(object sender, System.EventArgs e)
{
for(int i = 1; i <= 30; i++)
{
TextBox tb1 = FindTextBox("textBox" + i.ToString());
if(tb1 != null)
{
tb1.Text = "hello, boy";
}
}
}
#endregion
#region FindTextBox
private TextBox FindTextBox(string sTextBoxName)
{
foreach(Control a in Controls)
{
TextBox tb = a as TextBox;
if(tb==null)
{
continue;
}
else if(tb.Name == sTextBoxName)
{
return tb;
}
}
return null;
}
#endregion
二.COM3
1. 调用方法
① wsTatemono.GetTatemono
为DataSet赋值
参数:
I. tatemonoNo Param
II. dsTatemono DataSet
III. SecurityManager.Log 导出的log
② ControlManager.LockControl
对控件进行锁定,如果是button,则使button不能使用
参数:
I. CboChitengunCD 类型:Control; 空间名
II. False 类型:布尔;False不锁,True 锁
③ control. DataBindings.Add(string, object, string)
机能:为控件获取数据绑定
参数:
I. propertyName 控件属性
II. DataSet 数据集
III. DataMember 字段名称
例子:
imeTsushinran1.DataBindings.Add("Text", teikeiBunsho, "HanbaiBunsho1")
④ 入力check(Br层)
chkResult = !TestManager.IsBlank(hanbaiRow.imeCustomerNo);
if (!CheckManager.SetResult(dsCheck, chkRowNo, "CHK-002", chkResult)) return;
chkResult为false时包错
⑤ 得到环境的userId
DataSet dataSet = SecurityManager.Log;
string createUserId = dataSet.Tables[0].Rows[0].ItemArray[0].ToString();
ItemArray是数组
或者
string createUserId = SecurityManager.userId;
⑥ check
if (!CheckManager.SetResult(dsCheck, chkRowNo, "CHK-013", chkResult)) return;
chkResult = false就包错(进入return)
2. 方法
① ChangeMode
对控件的进行设置(如是否可用)
② SetBinding
将控件与数据(DataSet型)进行帮定
③ GetData
wsTatemono.GetTatemono WsTatemono.GetTatemono
bfTatemonoR.GetTatemono daTatemono.Get(里面就是存储过程)
数据全部存储在DsTatemono(DataSet)中
wsTatemono.GetTatemono:
参数:
I. tatemonoNo Param
II. dsTatemono DataSet
三.SQLSever
1. 运行存储过程
exec 过程名+空格+参数
例:exec SD_InsertTE_SeikyuRireki
'000100','1','1','0','123','0','1234','0','1234567890','0','2006/02/25','2006/06/30','green'