隨心筆記(二)

連接數據庫:https://v.youku.com/v_show/id_XNzU4ODI2MDcy.html(視屏)

1、通過ADO.NET的Connection組建來建立和數據庫的連接。

2、Command組建來進行管理數據查詢命令。

3、DataAdapter組建調用數據庫查詢命令進行數據的查詢,將查詢數據填充到數據緩存DataSet中,再將DataSet綁定到某一信息查詢窗體中的DataGridView控件實例來進行顯示。

 

Oracle數據庫客戶端下載地址http://pan.baidu.com/s/1dDAG4Jf

 

注意Oracle數據庫的查詢語句表需要加  “ ”

Ex:  select * from  “admin”;

連接數據庫步驟:

  1. 引用命名空間

引用system.Data.OracleClient

  1. 創建Oracle數據庫的連接對象

OracleConnection oc = new OracleConnection(“server=ocrl;uid=system;pwd=123456;”);

  1. 打開連接 oc.open();

Console.WriteLine(“Open”);

測試連接。(查詢語句查詢)

***Oracle數據庫帶參數查詢規則

“Select * from user where Id=:id”; //注意Oracle帶參數用冒號。

 

**使用C#開發窗體控件的數據 的增刪改查鏈接地址

https://jingyan.baidu.com/album/5bbb5a1b0b856213eaa17946.html?picindex=2(主要實現控件是GridView控件來實現)。

 

**登錄中判斷獲取的用戶名和數據庫中的用戶名是否相同;

if(name==textBox1.Text.Trim()&&pass==textBox2.Text.Trim())

textBox1.Text.Trim()是指你輸入框中輸入的去掉空格後的文本。

 

注意在Oracle數據庫中建表中的字段關鍵字的使用int類型的用number來代替,通常報缺失有括號錯誤。

 

 

select DISTINCT to_char(t.finished_time - 8 / 24, 'yyyy-MM-dd') 

from lj_mes_maobang_checked t where t.created_by between to_date(p_timefrom,'yyyy-mm-dd hh24:mi:ss') 

and to_date(p_timeend,'yyyy-mm-dd hh24:mi:ss');時間區間範圍設置參數爲字符串。

 

 listagg() within GROUP () over  將多行記錄在一行顯示

*****獲取文本框中的內容:

pwd.Text.Trim()

 

1C#項目結構

  • 程序的第一行 using System; - using 關鍵字用於在程序中包含 System 命名空間。 一個程序一般有多個 using 語句。
  • 下一行是 namespace 聲明。一個 namespace 裏包含了一系列的類。HelloWorldApplication 命名空間包含了類 HelloWorld
  • 下一行是 class 聲明。類 HelloWorld 包含了程序使用的數據和方法聲明。類一般包含多個方法。方法定義了類的行爲。在這裏,HelloWorld類只有一個 Main 方法。
  • 下一行定義了 Main 方法,是所有 C# 程序的 入口點Main 方法說明當執行時 類將做什麼動作。
  • 下一行 /.../ 將會被編譯器忽略,且它會在程序中添加額外的 註釋
  • Main 方法通過語句

Console.WriteLine("Hello World");

指定了它的行爲。

WriteLine 是一個定義在 System 命名空間中的 Console 類的一個方法。該語句會在屏幕上顯示消息 "Hello, World!"

  • 最後一行 Console.ReadKey(); 是針對 VS.NET 用戶的。這使得程序會等待一個按鍵的動作,防止程序從 Visual Studio .NET 啓動時屏幕會快速運行並關閉。

2.筆記篇:

舉例 下面是階乘的遞歸算法,其中判斷條件如果 num>0 則返回 num *Jc(num - 1),否則返回 1

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

​

namespace jiecheng

{

   class jiecheng

  {

       public int Jc(int num)

      {

           

           return num > 0 ? num *Jc(num - 1):1;  //如果num>0則返回num *Jc(num - 1),否則返回1

      }

  }

//定義方法,如果輸入數值不爲0,則輸出該數值的階乘結果。

​

   class excutejiecheng

 

  {

       static void Main(string[] args)

      {

           jiecheng n = new jiecheng();

           int result = n.Jc(Convert.ToInt16(Console.ReadLine()));

           Console.WriteLine("result is {0}",result);

           Console.ReadKey();

      }

  }

}

​

​

​

3、筆記之總結

 

連接數據庫:https://v.youku.com/v_show/id_XNzU4ODI2MDcy.html(視屏)

 

1、通過ADO.NETConnection組建來建立和數據庫的連接。

 

2Command組建來進行管理數據查詢命令。

 

3DataAdapter組建調用數據庫查詢命令進行數據的查詢,將查詢數據填充到數據緩存DataSet中,再將DataSet綁定到某一信息查詢窗體中的DataGridView控件實例來進行顯示。

 

  

 

Oracle數據庫客戶端下載地址http://pan.baidu.com/s/1dDAG4Jf

 

  

 

注意Oracle數據庫的查詢語句表需要加 “ ”

 

**Ex: select * from “admin”**

 

連接數據庫步驟:

 

1     引用命名空間

 

引用system.Data.OracleClient

 

2     創建Oracle數據庫的連接對象

 

OracleConnection oc = new OracleConnection“server=ocrluid=system;pwd=123456;”;

 

3     打開連接 oc.open();

 

Console.WriteLine(“Open”);

 

測試連接。(查詢語句查詢)

 

***Oracle數據庫帶參數查詢規則

 

“Select * from user where Id=:id”; //注意Oracle帶參數用冒號。

 

  

 

**使用C#開發窗體控件的數據 的增刪改查鏈接地址

 

https://jingyan.baidu.com/album/5bbb5a1b0b856213eaa17946.html?picindex=2(主要實現控件是GridView控件來實現)。

 

  

 

**登錄中判斷獲取的用戶名和數據庫中的用戶名是否相同;

 

if(name==textBox1.Text.Trim()&&pass==textBox2.Text.Trim())

 

textBox1.Text.Trim()是指你輸入框中輸入的去掉空格後的文本。

 

  

 

注意在Oracle數據庫中建表中的字段關鍵字的使用int類型的用number來代替,通常報缺失有括號錯誤。

 

  

 

select DISTINCT to_char(t.finished_time - 8 / 24, 'yyyy-MM-dd') 

 

  from lj_mes_maobang_checked t where t.created_by between to_date(p_timefrom,'yyyy-mm-dd hh24:mi:ss') 

 

  and to_date(p_timeend,'yyyy-mm-dd hh24:mi:ss');時間區間範圍設置參數爲字符串。

 

  

 

  **listagg() within GROUP () over** **將多行記錄在一行顯示**

 

使用foreach 進行數據的遍歷,避免死循環

 

     *int [] pins = {9,2,3,4,5};*

 

     *foreach(int pin in   pins ){*

 

         *Console.WriteLine(pin);*

 

     *}*

 

plsql編程規範:

 

定義變量時   建議用v_作爲前綴   v_sal

 

定義常量   c_作爲前綴

 

定義遊標   _cursor作爲後綴 

​

## 4Oracle數據庫中各函數的意義以及用法

C#中方法的定義

2.訪問修飾符 返回值 方法名 參數列表 方法主體

egpublic int getMaxint num1 int num2

           {

                      方法體;

                      return 返回值;

           }

連接數據庫:https://v.youku.com/v_show/id_XNzU4ODI2MDcy.html(視屏)

1、通過ADO.NETConnection組建來建立和數據庫的連接。

2Command組建來進行管理數據查詢命令。

3DataAdapter組建調用數據庫查詢命令進行數據的查詢,將查詢數據填充到數據緩存DataSet中,再將DataSet綁定到某一信息查詢窗體中的DataGridView控件實例來進行顯示。

Oracle數據庫客戶端下載地址http://pan.baidu.com/s/1dDAG4Jf

注意Oracle數據庫的查詢語句表需要加 “ ”

Ex: select * from “admin”

連接數據庫步驟:

1 引用命名空間

引用system.Data.OracleClient

2 創建Oracle數據庫的連接對象

OracleConnection oc = new OracleConnection“server=ocrluid=system;pwd=123456;”;

3 打開連接 oc.open();

Console.WriteLine(“Open”);

測試連接。(查詢語句查詢)

***Oracle數據庫帶參數查詢規則

“Select * from user where Id=:id”; //注意Oracle帶參數用冒號。

**使用C#開發窗體控件的數據 的增刪改查鏈接地址

https://jingyan.baidu.com/album/5bbb5a1b0b856213eaa17946.html?picindex=2(主要實現控件是GridView控件來實現)。

**登錄中判斷獲取的用戶名和數據庫中的用戶名是否相同;

if(name==textBox1.Text.Trim()&&pass==textBox2.Text.Trim())

textBox1.Text.Trim()是指你輸入框中輸入的去掉空格後的文本。

注意在Oracle數據庫中建表中的字段關鍵字的使用int類型的用number來代替,通常報缺失有括號錯誤。

select DISTINCT to_char(t.finished_time - 8 / 24, 'yyyy-MM-dd')

from lj_mes_maobang_checked t where t.created_by between to_date(p_timefrom,'yyyy-mm-dd hh24:mi:ss')

and to_date(p_timeend,'yyyy-mm-dd hh24:mi:ss');時間區間範圍設置參數爲字符串。

listagg() within GROUP () over 將多行記錄在一行顯示

***獲取文本框中的內容:

pwd.Text.Trim()

3.Oracle數據庫的sqlplsql基礎語法

1)在Oracle數據庫中想要複製已存在的表的結構和數據所需要的語法是:

create table 新表的名稱 as select * from 需要複製的表

2Oracle數據庫中插入數據語法

insert into 目標表 select * from 數據表 (條件 如果限定條件則插入限定列 如果未限定則插入所有數據 前提條件兩張表的結構完全一樣)

3Oracle數據庫中複製已有表結構但不復制數據

create table 新表的名稱 as select * from 需要複製的表 where 1=2

--複製表結構和數據 create table lj_mes_maobang_checkedtest as select * from lj_mes_maobang_checkedlp --查詢所有數據 select t.* from lj_mes_maobang_checkedlp t --插入數據 insert into lj_mes_maobang_checkedlp (select t.* from lj_mes_maobang_checked t ) --更新表中的某列數據 update lj_mes_maobang_checkedlp t set t.work_order = '111111k' where t.checked_id = '640385' --查詢修改後的數據(執行去重操作) select distinct t.* from lj_mes_maobang_checkedlp t where t.work_order = '111111k'

--刪除表中的數據 特定列的值 刪除完成查詢是否刪除 delete from lj_mes_maobang_checkedlp t where t.work_order = '111111k' select count() from lj_mes_maobang_checkedlp t where t.work_order = '111111k' --commit 之後則無法回滾 delete 之後是可以恢復的,如果一旦提交則無法恢復 commit; rollback;

1.基本結構

create replace procedure 存儲過程的名字

參數1 in number

參數2 in number

is

變量 1 integer =0

變量2 達特;

begin

執行體

end 存儲過程名字;

2.使用if 判斷

if v_test = 1 then

      begin

do something

end;

end if;

3.Windows文件流的讀取

//1\定義一個 directoryInfo對象,

Directoryinfo file = new Directoryinfo(@"文件路徑")

//2\獲取文件的名稱和文件的大小

Fileinfo [] f = file.getFiles();

//3\遍歷循環

foreach(FileInfo file in f)

{

           Console.WriteLine("FileName: {0},Size{1}",file.Name,File.length)

}

4 C#實現將EXCEL數據導入數據庫

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Data;

using System.Data.OleDb;

using System.Configuration;

using System.Data.SqlClient;

namespace InExcelOutExcel

{

public partial class ExcelToDB : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

FileSvr fileSvr = new FileSvr();

System.Data.DataTable dt = fileSvr.GetExcelDatatable("C:\\Users\\NewSpring\\Desktop\\Demo\\InExcelOutExcel\\InExcelOutExcel\\excel\\ExcelToDB.xlsx", "mapTable");

fileSvr.InsetData(dt);

}

}

class FileSvr

{

/// <summary>

/// Excel數據導入Datable

/// </summary>

/// <param name="fileUrl"></param>

/// <param name="table"></param>

/// <returns></returns>

public System.Data.DataTable GetExcelDatatable(string fileUrl, string table)

{

//office2007之前 僅支持.xls

//const string cmdText = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;IMEX=1';";

//支持.xls.xlsx,即包括office2010等版本的 HDR=Yes代表第一行是標題,不是數據;

const string cmdText = "Provider=Microsoft.Ace.OleDb.12.0;Data Source={0};Extended Properties='Excel 12.0; HDR=Yes; IMEX=1'";

System.Data.DataTable dt = null;

//建立連接

OleDbConnection conn = new OleDbConnection(string.Format(cmdText, fileUrl));

try

{

//打開連接

if (conn.State == ConnectionState.Broken || conn.State == ConnectionState.Closed)

{

conn.Open();

}

​

System.Data.DataTable schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);

//獲取Excel的第一個Sheet名稱

string sheetName = schemaTable.Rows[0]["TABLE_NAME"].ToString().Trim();

//查詢sheet中的數據

string strSql = "select * from [" + sheetName + "]";

OleDbDataAdapter da = new OleDbDataAdapter(strSql, conn);

DataSet ds = new DataSet();

da.Fill(ds, table);

dt = ds.Tables[0];

return dt;

}

catch (Exception exc)

{

throw exc;

}

finally

{

conn.Close();

conn.Dispose();

}

}

/// <summary>

/// System.Data.DataTable導入數據到數據庫

/// </summary>

/// <param name="dt"></param>

/// <returns></returns>

public int InsetData(System.Data.DataTable dt)

{

int i = 0;

string lng = "";

string lat = "";

string offsetLNG = "";

string offsetLAT = "";

foreach (DataRow dr in dt.Rows)

{

lng = dr["LNG"].ToString().Trim();

lat = dr["LAT"].ToString().Trim();

offsetLNG = dr["OFFSET_LNG"].ToString().Trim();

offsetLAT = dr["OFFSET_LAT"].ToString().Trim();

//sw = string.IsNullOrEmpty(sw) ? "null" : sw;

//kr = string.IsNullOrEmpty(kr) ? "null" : kr;

string strSql = string.Format("Insert into DBToExcel (LNG,LAT,OFFSET_LNG,OFFSET_LAT) Values ('{0}','{1}',{2},{3})", lng, lat, offsetLNG, offsetLAT);

string strConnection = ConfigurationManager.ConnectionStrings["ConnectionStr"].ToString();

SqlConnection sqlConnection = new SqlConnection(strConnection);

try

{

// SqlConnection sqlConnection = new SqlConnection(strConnection);

sqlConnection.Open();

SqlCommand sqlCmd = new SqlCommand();

sqlCmd.CommandText = strSql;

sqlCmd.Connection = sqlConnection;

SqlDataReader sqlDataReader = sqlCmd.ExecuteReader();

i++;

sqlDataReader.Close();

}

catch (Exception ex)

{

throw ex;

}

finally

{

sqlConnection.Close();

}

//if (opdb.ExcSQL(strSql))

// i++;

}

return i;

}

}

}

// Microsoft Access 2010 數據庫引擎可再發行程序包

//https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=13255

​

​
using` `System; 

using` `System.Data; 

using` `System.Data.OleDb; 

using` `System.Data.SqlClient; 

using` `System.IO; 

using` `System.Text; 

using` `System.Web; 

using` `System.Web.UI; 

private` `DataTable  xsldata() 

       ``{ 

          ``if``(fuload.FileName == ``""``) 

           ``{ 

               ``lbmsg.Text = ``"請選擇文件"``; 

               ``return` `null``; 

           ``} 

           ``string` `fileExtenSion; 

           ``fileExtenSion = Path.GetExtension(fuload.FileName); 

           ``if``(fileExtenSion.ToLower() != ``".xls"` `&& fileExtenSion.ToLower() != ``".xlsx"``) 

           ``{ 

               ``lbmsg.Text = ``"上傳的文件格式不正確"``; 

               ``return` `null``; 

           ``} 

           ``try

           ``{ 

               ``string` `FileName = ``"App_Data/"` `+ Path.GetFileName(fuload.FileName); 

               ``if``(File.Exists(Server.MapPath(FileName))) 

               ``{ 

                   ``File.Delete(Server.MapPath(FileName)); 

               ``} 

               ``fuload.SaveAs(Server.MapPath(FileName)); 

               ``//HDR=Yes,這代表第一行是標題,不做爲數據使用 ,如果用HDR=NO,則表示第一行不是標題,做爲數據來使用。系統默認的是YES 

               ``string` `connstr2003 = ``"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="` `+ Server.MapPath(FileName) + ``";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'"``; 

               ``string` `connstr2007 = ``"Provider=Microsoft.ACE.OLEDB.12.0;Data Source="` `+ Server.MapPath(FileName) + ``";Extended Properties=\"Excel 12.0;HDR=YES\""``; 

               ``OleDbConnection conn; 

               ``if``(fileExtenSion.ToLower() == ``".xls"``) 

               ``{ 

                   ``conn = ``new` `OleDbConnection(connstr2003); 

               ``} 

               ``else

               ``{ 

                   ``conn = ``new` `OleDbConnection(connstr2007); 

               ``} 

               ``conn.Open(); 

               ``string` `sql = ``"select * from [Sheet1$]"``; 

               ``OleDbCommand cmd = ``new` `OleDbCommand(sql, conn); 

               ``DataTable dt = ``new` `DataTable(); 

               ``OleDbDataReader sdr = cmd.ExecuteReader(); 



               ``dt.Load(sdr); 

               ``sdr.Close(); 

               ``conn.Close(); 

               ``//刪除服務器裏上傳的文件 

               ``if``(File.Exists(Server.MapPath(FileName))) 

               ``{ 

                   ``File.Delete(Server.MapPath(FileName)); 

               ``} 

               ``return` `dt; 

           ``} 

           ``catch``(Exception e) 

           ``{ 

               ``return` `null``; 

           ``} 

       ``} 



       ``protected` `void` `Btn_Export_Excel_To_DB_Click(``object` `sender, EventArgs e) 

       ``{ 

           ``try``{ 



               ``DataTable dt = xsldata(); 



               ``//dataGridView2.DataSource = ds.Tables[0]; 

               ``int` `errorcount = 0;``//記錄錯誤信息條數 

               ``int` `insertcount = 0;``//記錄插入成功條數 



               ``int` `updatecount = 0;``//記錄更新信息條數 



               ``string` `strcon = ``"server=localhost;database=database1;uid=sa;pwd=sa"``; 

               ``SqlConnection conn = ``new` `SqlConnection(strcon);``//鏈接數據庫 

               ``conn.Open(); 



               ``for``(``int` `i = 0; i < dt.Rows.Count; i++) 

               ``{ 

                   ``string` `Name = dt.Rows[i][0].ToString();``//dt.Rows[i]["Name"].ToString(); "Name"即爲ExcelName列的表頭 

                   ``string` `Sex = dt.Rows[i][1].ToString(); 

                   ``int` `Age = Convert.ToInt32(dt.Rows[i][2].ToString()); 

                   ``string` `Address = dt.Rows[i][3].ToString(); 

                   ``if``(Name != ``""` `&& Sex != ``""` `&& Age != 0 && Address != ``""``) 

                   ``{ 

                       ``SqlCommand selectcmd = ``new` `SqlCommand(``"select count(*) from users where Name='"` `+ Name + ``"' and Sex='"` `+ Sex + ``"' and Age='"` `+ Age + ``"' and Address="` `+ Address, conn); 

                       ``int` `count = Convert.ToInt32(selectcmd.ExecuteScalar()); 

                       ``if``(count > 0) 

                       ``{ 

                           ``updatecount++; 

                       ``} 

                       ``else

                       ``{ 

                           ``SqlCommand insertcmd = ``new` `SqlCommand(``"insert into users(Name,Sex,Age,Address) values('"` `+ Name + ``"','"` `+ Sex + ``"',"` `+ Age + ``",'"` `+ Address + ``"')"``, conn); 

                           ``insertcmd.ExecuteNonQuery(); 

                           ``insertcount++; 

                       ``} 

                   ``} 

                   ``else

                   ``{ 

                       ``errorcount++; 

                   ``} 

               ``} 

               ``Response.Write((insertcount + ``"條數據導入成功!"` `+ updatecount + ``"條數據重複!"` `+ errorcount + ``"條數據部分信息爲空沒有導入!"``)); 

           ``} 

           ``catch``(Exception ex) 

           ``{ 



           ``} 

       ``}

1.使用定時器執行任務:

//定義Timer System.Timers.Timer timer; /// <summary> /// 初始化Timer控件 /// </summary> private void InitTimer() { //設置定時間隔(毫秒爲單位) int interval = 3000; timer = new System.Timers.Timer(interval); //設置執行一次(false)還是一直執行(true) timer.AutoReset = true; //設置是否執行System.Timers.Timer.Elapsed事件 timer.Enabled = true; //綁定Elapsed事件 timer.Elapsed += new System.Timers.ElapsedEventHandler(TimerUp); //開始 timer.Start(); }

/// <summary> /// Timer類執行定時到點事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void TimerUp(object sender, System.Timers.ElapsedEventArgs e) { try { readDataFromAcess(); WriteToDb();

      }

       catch (Exception ex)

      {

           MessageBox.Show("執行定時到點事件失敗:" + ex.Message);

      }

  }

private void readDataFromAcess() { //label2.Text = String.Empty; try { using (OleDbConnection conn = new OleDbConnection( "Provider = Microsoft.Ace.OLEDB.12.0;Data Source = C:\SintonInstruments\BulkLifetimeSummaryData\Summary.accdb")) { conn.Open();//要先打開連接 using (OleDbCommand cmd = conn.CreateCommand()) //創建小貨車 cmd { //參數的使用 // 獲取或設置 SQL 語句或存儲的過程以在數據源中執行。 cmd.CommandText = "select GuestsID, Name, Time, Date, EstBulkLifetime from SummaryData where GuestsID = (select max(GuestsID) from SummaryData);"; //cmd.Parameters.Add(new SqlParameter("@rank", 2)); //因爲SqlDataReader實現了IDisposable接口,釋放對象資源的接口是IDisposable using (OleDbDataReader reader = cmd.ExecuteReader()) { //查詢到結果放在數據庫中沒有放到客戶端中,以後可以用DataSet處理 while (reader.Read()) { temp = double.Parse(reader[4].ToString()); //label2.Text = "OK"; //string name = (string)reader.GetString(0); //MessageBox.Show(name); } } } } } catch(Exception e) { MessageBox.Show(e.Message); } }

//向數據庫中寫入數據 private void writeToDb() { if(Invaild()) //晶編等信息都已維護 { string selectSql = @"{?=call longimes.LJ_MES_AGE_CHECKED_SET.update_data_for_lifetime2('"

                    + this.txb_code.Text.Trim() + "','"

                                            + this.label1.Text + "','"

                    + 

                                            + this.label1.Text + + _location + "','"

                                                                      + this.txb_mode.Text + "','"

                                                                          + this.txb_prod.Text + "','"

                                                                          + this.lab_isQua.Text + "','"

                                                                          + this.cmbWorkshop.Text.Trim() + "')}";

                                            string str = (string)DatabaseAccessService.execute(selectSql, ReturnType.STRING);

                                          Mes.Core.ApplicationObject.PkgReturnValue rv = new Mes.Core.ApplicationObject.PkgReturnValue(str);

                                          if (rv.IsExecuteFail)

                                          {

                                                          this.toolStripStatusLabel1.Text = DateTime.Now.ToString() + " 數據錄入不成功";

                                                          MessageBox.Show("數據錄入不成功!");

                                                          Mes.Core.Service.MessageService.ShowMessage(rv.Message);

                                                          return;

                                          }

                                          else

                                          {

                                                          this.toolStripStatusLabel1.Text = DateTime.Now.ToString() + " 數據錄入成功";

                                          //   foreach (Control rab in groupBoxEx1.Controls)

                                          //   {

                                          //       if (rab is RadioButton)

                                        //       {

                                        //           if ((rab as RadioButton).Checked == true)

                                        //               (rab as RadioButton).BackColor = Color.Green;

                                        //       }

                                        //   }

                                                  }

                                    }

                                                      }

5.學生管理系統視屏

https://study.163.com/course/courseLearn.htm?courseId=1004094049#/learn/video?lessonId=1047972255&courseId=1004094049 網易雲課堂

判斷文本框中輸入內容和文件夾中Excel表名對應代碼。

using System.IO; IF(File.Exists(指定路徑+"\"+文件框輸入的EXCEL名稱+".xlsx") || File.Exists(指定路徑+"\"+文件框輸入的EXCEL名稱+".xls") )//支持.xlsx.xls { //存在 } else { //不存在 }

//根據晶體編碼獲取產品規格代碼:

private string GetInfoByCrystal(string p_crystalno) { string selectOp = @"{?=call longimes.lj_mes_oxygen_carbon_data.get_oxygencarbondata_bycrystal('" + p_crystalno + "')}"; return (string)DatabaseAccessService.execute(selectOp, ReturnType.STRING); }

//與之相對應的plsql代碼

FUNCTION GET_OXYGENCARBONDATA_BYCRYSTAL(p_crystal IN VARCHAR2) RETURN VARCHAR2 IS X_RET VARCHAR2(100); BEGIN -- OPEN X_RET FOR SELECT t.Stad_Production ||','|| CASE SUBSTR(t.Crystal_Encoding, 3, 1) WHEN 'X' THEN 'P' WHEN 'P' THEN 'N' WHEN 'S' THEN 'S' ELSE '未知' END ||','|| s.WORKSHOP INTO X_RET FROM LJ_MES_MAOBANG_CHECKED t LEFT JOIN LJ_MES_SINGLESTOVE_INFO s ON SUBSTR(t.Crystal_Encoding, 6, 3) = REPLACE(s.Stove_Number, 'DJL0', '') WHERE t.STATE = 'VALID' AND s.STATE = 'VALID' AND CRYSTAL_ENCODING = substr(p_crystal,1,11); RETURN X_RET; END;

LJMESOCDataInput --trunc(v-val_o,[2])對輸入的數字進行限定處理

//查詢拼接語句

 

string sql = "select t.k_id,t.package_id,t.big_box_id,t.print_status from longimes.LJ_MES_QP_INSTORAGE t where 1=1";

            if (!string.IsNullOrEmpty(this.tbBracket.Text))

            {

                sql += " and t.package_id like '%" + this.tbBracket.Text + "%'";

            }

            if (!string.IsNullOrEmpty(this.tbBigBoxCode.Text))

            {

                sql += " and t.big_box_id like '%" + this.tbBigBoxCode.Text + "%'";

            }

            sql += "and t.work_shop='" + getWorkShop() + "'";

lj_mes_lpceshi

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章