Visual Studio 2008 CLR主控台應用程式
// DB1.cpp: 主要專案檔。 #include "stdafx.h" #using <System.Dll> #using <System.Data.Dll> using namespace System; using namespace System::Data; using namespace System::Data::OleDb; int main(array<System::String ^> ^args) { // 與指定的Access 資料庫建立連接 String^ connectionString = "provider=Microsoft.Jet.OLEDB.4.0;data source=D:\\PhoneBook.mdb;"; OleDbConnection^ myConn = gcnew OleDbConnection(connectionString); //OdbcCommand^ cmd; try { myConn->Open(); // 設定取樣標準 OleDbCommand^ myCommand = myConn->CreateCommand(); myCommand->CommandText ="SELECT 姓名, 電話, 地址, 郵區 FROM Phone "; // 讀取資料 OleDbDataReader^ myReader = myCommand->ExecuteReader(); while (myReader->Read()) { Console::WriteLine("姓名 = " + myReader["姓名"]); Console::WriteLine("電話 = " + myReader["電話"]); Console::WriteLine("地址 = " + myReader["地址"]); Console::WriteLine("郵區 = " + myReader["郵區"]); Console::WriteLine(); } myConn->Close(); myConn->Open(); myCommand->CommandText ="INSERT INTO Phone VALUES ('李九九', '02-11112222', '台北市星光大道100號' , '00011') " ; // 新增資料 myCommand->ExecuteNonQuery(); Console::WriteLine("新增完成!"); myCommand->CommandText ="SELECT 姓名, 電話, 地址, 郵區 FROM Phone "; // 讀取資料 OleDbDataReader^ myReader2 = myCommand->ExecuteReader(); while (myReader2->Read()) { Console::WriteLine("姓名 = " + myReader2["姓名"]); Console::WriteLine("電話 = " + myReader2["電話"]); Console::WriteLine("地址 = " + myReader2["地址"]); Console::WriteLine("郵區 = " + myReader2["郵區"]); Console::WriteLine(); } } catch (Exception^ e) { Console::WriteLine("Error: " + e); } catch (OleDbException^ ex) { Console::WriteLine(ex->ToString()); } finally { myConn->Close(); } }資料庫為stdRec.mdb
A9803001 林品潔 33 96 66 75 Average=67 A9803004 王曉華 60 75 75 77 Average=71 A9803005 王智明 44 59 83 74 Average=65 A9803007 李斌 34 56 58 89 Average=59* A9803009 陳大川 43 31 80 94 Average=62 A9803010 楊智源 38 65 49 62 Average=53* A9803012 黃美鳳 39 99 82 51 Average=67 A9803015 鍾智勝 92 44 67 46 Average=62 A9803021 陳大川 75 88 65 64 Average=73 A9803022 朱彰文 54 79 96 80 Average=77 A9803025 黃莉茉 64 61 83 99 Average=76 A9803029 曾山國 47 78 31 37 Average=48* A9803030 李雄山 43 58 67 99 Average=66 A9803033 林莉貞 41 38 50 34 Average=40* A9803039 陳均安 82 55 87 62 Average=71 A9803042 李素惠 31 90 72 49 Average=60 A9803043 王小寶 62 49 94 74 Average=69 A9803048 李明白 50 30 35 32 Average=36* A9803050 曾美蓮 99 92 78 91 Average=90 A9803052 魏一林 77 52 99 39 Average=66 請按任意鍵繼續 . . . ------------------------------------------------------------- // DB1.cpp: 主要專案檔。 #include "stdafx.h" #using <System.Dll> #using <System.Data.Dll> using namespace System; using namespace System::Data; using namespace System::Data::OleDb; int main(array<System::String ^> ^args) { // 與指定的Access 資料庫建立連接 int sc; String^ tmp; String^ connectionString = "provider=Microsoft.Jet.OLEDB.4.0;data source=d:\\stdRec.mdb;"; OleDbConnection^ myConn = gcnew OleDbConnection(connectionString); //OdbcCommand^ cmd; try { myConn->Open(); // 設定取樣標準 OleDbCommand^ myCommand = myConn->CreateCommand(); //myCommand->CommandText ="SELECT 課程A.學號,課程A.分數, 課程B.分數 FROM 課程A, 課程B WHERE 課程A.學號=課程B.學號"; myCommand->CommandText ="SELECT 學生資料表.學號, 姓名, 課程A.分數, 課程B.分數, 課程C.分數, 課程D.分數 from 學生資料表, 課程A, 課程B, 課程C, 課程D WHERE 學生資料表.學號=課程A.學號 and 學生資料表.學號=課程B.學號 and 學生資料表.學號=課程C.學號 and 學生資料表.學號=課程D.學號"; // 讀取資料 OleDbDataReader^ myReader = myCommand->ExecuteReader(); while (myReader->Read()) { String^ tmp; int sc=0; Console::Write(myReader["學號"]); Console::Write(" " + myReader["姓名"]); Console::Write(" \t" + myReader["課程A.分數"]); Console::Write(" " + myReader["課程B.分數"]); Console::Write(" " + myReader["課程C.分數"]); Console::Write(" " + myReader["課程D.分數"]); //Console::WriteLine("電話號碼 = " + myReader["電話號碼"]); //Console::WriteLine("聯絡地址 = " + myReader["聯絡地址"]); tmp=myReader["課程A.分數"]->ToString(); sc+=System::Int32::Parse(tmp); tmp=myReader["課程B.分數"]->ToString(); sc+=System::Int32::Parse(tmp); tmp=myReader["課程C.分數"]->ToString(); sc+=System::Int32::Parse(tmp); tmp=myReader["課程D.分數"]->ToString(); sc+=System::Int32::Parse(tmp); sc/=4.0; Console::Write(" Average=" + sc); if(sc >= 60) Console::WriteLine( " "); else Console::WriteLine( "*"); // Console::WriteLine("郵區 = " + myReader["郵區"]); //Console::WriteLine(); } } catch (Exception^ e) { Console::WriteLine("Error: " + e); } catch (OleDbException^ ex) { Console::WriteLine(ex->ToString()); } finally { myConn->Close(); } }Visual Studio 2008 Windows form 圖片移動 計畫名稱要一致
#pragma once namespace KeyBoard { using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; /// <summary> /// Form1 的摘要 /// /// 警告: 如果您變更這個類別的名稱,就必須變更與這個類別所依據之所有 .resx 檔案關聯的 /// Managed 資源編譯器工具的 'Resource File Name' 屬性。 /// 否則,這些設計工具 /// 將無法與這個表單關聯的當地語系化資源 /// 正確互動。 /// </summary> public ref class Form1 : public System::Windows::Forms::Form { public: Form1(void) { InitializeComponent(); // //TODO: 在此加入建構函式程式碼 // } protected: /// <summary> /// 清除任何使用中的資源。 /// </summary> ~Form1() { if (components) { delete components; } } private: System::Windows::Forms::PictureBox^ pictureBox1; protected: private: /// <summary> /// 設計工具所需的變數。 String^ state; /// </summary> System::ComponentModel::Container ^components; #pragma region Windows Form Designer generated code /// <summary> /// 此為設計工具支援所需的方法 - 請勿使用程式碼編輯器修改這個方法的內容。 // String^ state; /// </summary> //System::ComponentModel::Container ^components; /// </summary> void InitializeComponent(void) { System::ComponentModel::ComponentResourceManager^ resources = (gcnew System::ComponentModel::ComponentResourceManager(Form1::typeid)); this->pictureBox1 = (gcnew System::Windows::Forms::PictureBox()); (cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->pictureBox1))->BeginInit(); this->SuspendLayout(); // // pictureBox1 // this->pictureBox1->Image = (cli::safe_cast<System::Drawing::Image^ >(resources->GetObject(L"pictureBox1.Image"))); this->pictureBox1->Location = System::Drawing::Point(110, 53); this->pictureBox1->Name = L"pictureBox1"; this->pictureBox1->Size = System::Drawing::Size(61, 56); this->pictureBox1->SizeMode = System::Windows::Forms::PictureBoxSizeMode::StretchImage; this->pictureBox1->TabIndex = 0; this->pictureBox1->TabStop = false; // // Form1 // this->AutoScaleDimensions = System::Drawing::SizeF(6, 12); this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font; this->BackColor = System::Drawing::Color::White; this->ClientSize = System::Drawing::Size(290, 189); this->Controls->Add(this->pictureBox1); this->Name = L"Form1"; this->Text = L"鍵盤按鍵"; this->Load += gcnew System::EventHandler(this, &Form1::Form1_Load); (cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->pictureBox1))->EndInit(); this->ResumeLayout(false); } #pragma endregion private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) { this->KeyUp += gcnew KeyEventHandler(this, &KeyBoard::Form1::OnKeyPress); state="Up"; } public: void OnKeyPress(Object^ sender, KeyEventArgs^ e) { String^ skey = e->KeyCode.ToString(); // 取得按鍵名稱 if (skey=="Up") { // 同向未碰到頂邊則向上移動 if ((pictureBox1->Top>=10) && state=="Up") { pictureBox1->Top -= 10; } else { state = "Up"; pictureBox1->ImageLocation = "D:\\\ArrowU.gif"; } } if (skey=="Down") { // 同向未碰到底邊則向下移動 if ((pictureBox1->Top <=this->Height-40-10) && state == "Down") pictureBox1->Top += 10; else { state = "Down"; pictureBox1->ImageLocation = "D:\\ArrowD.gif"; } } if (skey=="Left") { // 同向未碰到左邊則向左移動 if ((pictureBox1->Left >= 10) && state == "Left") pictureBox1->Left -= 10; else { state = "Left"; pictureBox1->ImageLocation = "D:\\ArrowL.gif"; } } if (skey=="Right") { // 同向未碰到右邊則向右移動 if ((pictureBox1->Left <= this->Width - 40 - 10) && state == "Right") pictureBox1->Left += 10; else { state = "Right"; pictureBox1->ImageLocation = "D:\\ArrowR.gif"; } } } }; }Visual Studio 2008 Windows form 畫矩形 計畫名稱要一致
#pragma once namespace mouse { using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; /// <summary> /// Form1 的摘要 /// /// 警告: 如果您變更這個類別的名稱,就必須變更與這個類別所依據之所有 .resx 檔案關聯的 /// Managed 資源編譯器工具的 'Resource File Name' 屬性。 /// 否則,這些設計工具 /// 將無法與這個表單關聯的當地語系化資源 /// 正確互動。 /// </summary> public ref class Form1 : public System::Windows::Forms::Form { public: Form1(void) { InitializeComponent(); // //TODO: 在此加入建構函式程式碼 // } protected: /// <summary> /// 清除任何使用中的資源。 /// </summary> ~Form1() { if (components) { delete components; } } bool mouseOn; int x0,y0,x1,y1,w,h; private: /// <summary> /// 設計工具所需的變數。 /// </summary> System::ComponentModel::Container ^components; #pragma region Windows Form Designer generated code /// <summary> /// 此為設計工具支援所需的方法 - 請勿使用程式碼編輯器修改這個方法的內容。 /// /// </summary> void InitializeComponent(void) { this->SuspendLayout(); // // Form1 // this->AutoScaleDimensions = System::Drawing::SizeF(8, 15); this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font; this->ClientSize = System::Drawing::Size(421, 374); this->Name = L"Form1"; this->Text = L"Form1"; this->Load += gcnew System::EventHandler(this, &Form1::Form1_Load); this->ResumeLayout(false); } #pragma endregion private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) { this->MouseDown +=gcnew MouseEventHandler(this, &mouse::Form1::OnMouseDown); this->MouseUp +=gcnew MouseEventHandler(this, &mouse::Form1::OnMouseUp); this->MouseMove +=gcnew MouseEventHandler(this, &mouse::Form1::OnMouseMove); mouseOn=false; } private: System::Void OnMouseDown(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e) { x0=e->X; y0=e->Y; x1=e->X; y1=e->Y; mouseOn=true; } private: System::Void OnMouseUp(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e) { w=e->X-x1; h=e->Y-y1; if(w<0){ w=w*-1; x0=e->X; } if(h<0){ h=h*-1; y0=e->Y; } Refresh(); mouseOn=false; } private: System::Void OnMouseMove(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e) { if( mouseOn){ w=e->X-x1; h=e->Y-y1 ; if(w<0){ w=w*-1; x0=e->X; } if(h<0){ h=h*-1; y0=e->Y; } Refresh(); } } protected: virtual void OnPaint(PaintEventArgs^ e) override{ Pen^ blackPen = gcnew Pen(Color::Black, 3); e->Graphics->DrawRectangle(blackPen,x0,y0,w,h); } }; }
沒有留言:
張貼留言