RSS

Lưu trữ theo tác giả: ittran90

About ittran90

[IT HUTECH] - Software Development

Hướng dẫn tạo bảng có ID tự động tăng trong Oracle

Giả sử bạn muốn tạo một bảng trong có trường ID (kiểu số) và ID này tự động tăng mỗi khi bạn insert dữ liệu vào bảng thì bạn có thể thực hiện theo các bước sau.

Tạo mới bảng

Trong bài này chúng ta sẽ cùng tạo bảng có tên là SOCIAL_NETWORKS để lưu tên những mạng xã hội phổ biến nhất hiện nay. Cấu trúc bảng này như sau:

Bảng SOCIAL_NETWORKS – lưu tên các mạng xã hội
id id – khóa chính kiểu số, tự động tăng
name tên mạng xã hội
description mô tả ngắn gọn về mạng xã hội

Bạn dùng nhóm lệnh sau trong SQL Plus để tạo bảng theo cấu trúc trên.

CREATE  SOCIAL_NETWORKS( ID NUMBER PRIMARY KEY,NAME
CHAR(20),DESCRIPTION VARCHAR(200));

Tạo mới bảng trong Oracle

Tạo mới một Sequence

Sau khi tạo bảng SOCIAL_NETWORKS chúng ta cần tạo 1 Sequence giúp tự động tăng trường ID cho bảng này, ID này sẽ có giá trị bắt đầu từ 1 và được tăng +1 cho mỗi lần một hàng dữ liệu mới được chèn vào bảng. Nhóm lệnh SQL để tạo Sequence này như sau:

CREATE SEQUENCE AUTO_INCREMENT_SEQUENCESTART WITH 1INCREMENT BY 1;

Tạo mới Sequence trong Oracle

Tạo mới 1 Trigger

Chúng ta sẽ dùng 1 Trigger để kích hoạt Sequence vừa tạo, Trigger này sẽ giúp gọi tới AUTO_INCREMENT_SEQUENCE để tăng trường ID lên 1 trước khi lệnh Insert dữ liệu vào bảng được gọi.

CREATE OR REPLACE TRIGGER AUTO_INCREMENT_TRIGGERBEFORE INSERTON
SOCIAL_NETWORKSREFERENCING NEW AS NEWFOR EACH ROWBEGINSELECT
AUTO_INCREMENT_SEQUENCE.NEXTVAL INTO :NEW.ID FROM DUAL;END;/

Tạo mới Trigger trong Oracle

Insert dữ liệu vào bảng và kiểm tra kết quả

Chèn dữ liệu vào bảng sau khi đã tạo cấu trúc

Sau khi tạo xong Table, Sequence và Trigger bạn dùng nhóm lệnh sau để chèn nhiều dòng dữ liệu chứa tên các mạng xã hội vào bảng SOCIAL_NETWORKS.

INSERT ALLINTO  SOCIAL_NETWORKS(NAME, DESCRIPTION)VALUES
('Facebook','Facebook - stylized facebook is a social networking service and
website launched in February 2004, operated and privately owned by Facebook,
Inc')INTO  SOCIAL_NETWORKS(NAME, DESCRIPTION)VALUES
('Flickr','Flickr is almost certainly the best online photo management and
sharing application in the world.')INTO  SOCIAL_NETWORKS(NAME,
DESCRIPTION)VALUES ('Twitter','Twitter is a website, owned and operated by
Twitter Inc., which offers a social networking and microblogging service,
enabling its users to send and read messages called tweets')INTO  SOCIAL_NETWORKS(NAME, DESCRIPTION)VALUES ('Youtube','YouTube is a
video-sharing website on which users can upload, share, and view videos, created
by three former PayPal employees in February 2005')INTO  SOCIAL_NETWORKS(NAME, DESCRIPTION)VALUES ('Digg','Digg is a place for people
to discover and share content from anywhere on the web')INTO  SOCIAL_NETWORKS(NAME, DESCRIPTION)VALUES ('StummbleUpon','StumbleUpon is a
discovery engine (a form of web search engine) that finds and recommends web
content to its users')SELECT * FROM DUAL;

Bạn chú ý nhớ chạy lệnh commit; trong SQL PLus để commit toàn bộ thao tác tạo bảng, sequence, trigger và insert dữ liệu ở trên.

 

 

Kiểm tra dữ liệu được chèn vào

Để kiểm tra các bản ghi được thêm vào  bạn dùng lệnh sau:

SELECT * FROM SOCIAL_NETWORKS

Danh sách dữ liệu sẽ được hiển thị

Truy vấn dữ liệu trong Oracle

Như vậy là bạn đã tạo thành công 1 bảng với trường ID tăng tự động trong Oracle, bảng của bạn được sử dụng để lưu tên những mạng xã hội phổ biến nhất hiện nay. Bạn cũng có thể áp dụng phương pháp này với những bảng đã có sẵn trong database, khi đó bạn chỉ cần tạo mới Sequence và Trigger để cài đặt tính năng tự động tăng ID cho bảng mà không cần bước tạo mới bảng ở trên.

Nguồn: http://luuquangtrieu.wordpress.com – internet

 
Leave a comment

Posted by on 20/05/2012 in Oracle

 

Thẻ: , ,

Cài đặt Driver ADB cho Nook Color – Window Version

  • Bạn là 1 lập trình viên Android
  • Bạn khó chịu khi phải debug trên Emulator vì sự chậm chạp của nó
  • Kinh tế ko quá dư giả để có thể mua một tablet hoàn hảo

Nếu như bạn có 3 yếu tổ trên thì hãy đọc tiếp nha ====>

Nook Color: bản chất là 1 chiếc máy đọc sách với giá thành khá hợp lý (giá mới khoảng từ 150$ đến 200$) nhưng lại rất dễ dàng cho các vọc sĩ.

Vậy sao để bạn có thể debug ứng dụng của nền tảng Android trên một chiếc máy đọc sách =>

Chúng ta sẽ sử dụng CyanogenMod (mình đang dùng version 7.2 kernel: 2.3.7) để mod lại chiếc nook color của  mình. Sau khi chạy CyanogenMod thì nook color sẽ như 1 chiếc tablet thật sự và thậm chí còn overlock lên 1.2Ghz để sử dụng.

Sau khi đã cài đặt CM7.2 cho nook xong, chúng ta bắt đầu cài đặt driver để có thể chạy những “đứa con” của Android Developer trên nook color.

Các công cụ cần thiết:

Eclipse

Android-SDK-Windows : phần ko thể thiếu của 1 lập trình viên Android

USB – Driver for Nook Color

Let’s go:

Sau khi tải và cài đặt , tích hợp android developer tool cho eclipse xong =>Tutorial Here<=

Giải nén Driver for Nook Color vào thư mục Android-SDK-Windows

Cắm chiếc nook color vào máy tính của bạn, mở device manager, sẽ thấy báo có 1 thiết bị chưa cài đặt driver.

Bạn double click vào đó, và chọn update driver => Browse my computer > Let me pick > Have Disk

Chỉ đường dẫn đến thư mục SDK/usb-driver của bạn và cài đặt.

Sau khi cài đặt xong trong thư mục \users\[tên máy]\.android có 1 file là adb_usb.ini, edit file này bằng notepad và paste vào “0×2080″

Mở CMD = > cd [thư mục android-sdk] => platform-tools

adb kill-server

adb devices

nếu cmd báo nhận đc devices của bạn là ok, bây giờ thì mở eclipse để chạy ứng dụng của bạn thôi.

Chúc bạn thành công.

 
Leave a comment

Posted by on 08/04/2012 in Android Developmennt

 

Thẻ: , , , ,

Auto Format Currency On Edittext Android

Đầy là đoạn code để khi nhập ký tự vô Edittext trên Android, sẽ tự động format thêm phân chia dấu ngăn cách và format về định dạng tiền tệ:

 
txtNewItemPrice.addTextChangedListener(new TextWatcher() {
 private String current = "";
 @Override
 public void onTextChanged(CharSequence s, int start, int before, int count) {
 // TODO Auto-generated method stub

 if(!s.toString().equals(current)){

 String cleanString = s.toString().replaceAll("[$,.]", "");

 double parsed = Double.parseDouble(cleanString);

 String formated = NumberFormat.getInstance().format((parsed/100));

 current = formated;

 txtNewItemPrice.setText(formated);
 txtNewItemPrice.setSelection(formated.length());
 }

 }

 @Override
 public void beforeTextChanged(CharSequence s, int start, int count,
 int after) {
 // TODO Auto-generated method stub

 }

 @Override
 public void afterTextChanged(Editable s) {
 // TODO Auto-generated method stub

 }
 });

Đây là đoạn code tương tụ như trên nhưng sẽ ko có dấu “$”, để lưu trữ bớt gặp khó khăn khi thay đổi locale.

txtNewItemPrice.addTextChangedListener(new TextWatcher() {
 private String current = "";
 @Override
 public void onTextChanged(CharSequence s, int start, int before, int count) {
 // TODO Auto-generated method stub
 if(!s.toString().equals(""))
 {
 if(!s.toString().equals(current)){

 String cleanString = s.toString().replaceAll("[,.]", "");

 double parsed = Double.parseDouble(cleanString);

 String formated = NumberFormat.getInstance().format((parsed));

 current = formated;

 txtNewItemPrice.setText(formated);
 txtNewItemPrice.setSelection(formated.length());
 }
 }
 }

 @Override
 public void beforeTextChanged(CharSequence s, int start, int count,
 int after) {
 // TODO Auto-generated method stub

 }

 @Override
 public void afterTextChanged(Editable s) {
 // TODO Auto-generated method stub

 }
 });

Ở đây có 1 lỗi, là ko sử đụng được các kỹ tự thập phân, ví dụ như 2,333.3 sẽ ko hiểu. Bro nào làm được rồi pm lại dùm mình nha.

Ở 2 đoạn code có 1 sự khác biệt, với đoạn code trên (tham khảo trang nước ngoài) bạn sẽ bij lõi khi xóa hết các ký tự, nên khi customize lại, mình đã thêm đk để bỏ qua điều này.

Chúc các bạn thành công

 
Leave a comment

Posted by on 17/02/2012 in Android Developmennt

 

Thẻ: , , , ,

Sử dụng Camera và MediaStore trong Android Development

Để có thể sử dụng trực tiếp Camera của thiết bị mà ko cần phải dùng Api Camera do Google cung cấp.

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(Intent.createChooser(cameraIntent,”Select Picture”), CAMERA_PIC_REQUEST);

Sau khi goi được Camera sử dụng hàm onActivityResult để lấy kết quả

if(requestCode == CAMERA_PIC_REQUEST && resultCode == Activity.RESULT_OK)
{
Uri newuri = null;
final ContentResolver cr = getContentResolver();
final String[] p1 = new String[] {
MediaStore.Images.ImageColumns._ID,
MediaStore.Images.ImageColumns.DATE_TAKEN
};
Cursor c1 = cr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, p1, null, null, p1[1] + ” DESC”);
if ( c1.moveToFirst() ) {
String uristringpic = “content://media/external/images/media/” +c1.getInt(0);
newuri = Uri.parse(uristringpic);
Log.i(“tho”, “newuri “+newuri);

}
c1.close();

String imagePath = getPath(newuri);

Log.i(“tho”, “Image Path “+imagePath);
AppDataStatic.imgReportPath1 = imagePath;
Bundle extras = data.getExtras();
Bitmap bmp = (Bitmap) extras.get(“data”);
rightFragmentGeneral = (SettingsGeneral)getFragmentManager().findFragmentByTag(“rightFragmentGeneral”);
imgRestaurant = (ImageView) rightFragmentGeneral.getView().findViewById(R.id.imageRestaurant);
imgRestaurant.setImageBitmap(bmp);
alert.dismiss();
}

Tương tự như z, chúng ta có thể làm hàm để select hình ảnh từ mediastore

Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
/* intent.setType(“image/*”);
intent.putExtra(“return-data”, true);*/
startActivityForResult(intent, STORE_PIC_REQUEST);

Và lấy kết quả từ onActivityResult

alert.dismiss();
Uri selectedImageUri = data.getData();
Log.i(“tho”,”selected Image Uri “+selectedImageUri);

String selectedImagePath = getPath(selectedImageUri);
Log.i(“tho”,”selectedImagePath ” +selectedImagePath);
AppDataStatic.imgReportPath1 = selectedImagePath;

rightFragmentGeneral = (SettingsGeneral)getFragmentManager().findFragmentByTag(“rightFragmentGeneral”);
imgRestaurant = (ImageView) rightFragmentGeneral.getView().findViewById(R.id.imageRestaurant);
imgRestaurant.setImageURI(selectedImageUri);

Chúc các bạn thành công!

 
Leave a comment

Posted by on 16/02/2012 in Android Developmennt

 

Thẻ: , , ,

Hutech Developer Club – KẾ HOẠCH SINH HOẠT NĂM 2012

KẾ HOẠCH SINH HOẠT NĂM 2012

Mục tiêu sinh hoạt câu lạc bộ

Câu lạc bộ lập trình viên Hutech – Hutech developer club được thành lập vào tháng 10 năm 2011 và bước đầu sinh hoạt với số lượng nhỏ các thành viên chủ yếu là khóa 09 và khóa 10 chuyên ngành công nghệ thông tin – công nghệ phần mềm khoa công nghệ thông tin trường Hutech.

Hiện nay, do các thành viên khóa 08 của câu lạc bộ đã đi thực tập, ít có thời gian ở trường nên bàn giao câu lạc bộ lại cho các thành viên cũ trong câu lạc bộ phụ trách và tiếp tục phát triển.

Với tiêu chí là nơi giao lưu, học hỏi, chia sẻ kinh nghiệm trong lĩnh vực lập trình phần mềm của các sinh viên khoa CNTT Hutech, câu lạc bộ lập trình hutech sẽ sinh hoạt dưới hình thức nhóm lập trình, mọi người cùng trao đổi dưới sự hướng dẫn của những người đã biết, ai biết rồi chỉ lại cho nguời chưa biết và cũng nhau học hỏi những công nghệ mới trong lĩnh vực lập trình phần mềm.

Thành phần tham gia câu lạc bộ

Tất cả những sinh viên yêu thích lập trình phần mềm đều có thể tham gia vào câu lạc bộ. Không cần biết trước khi đến với câu lạc bộ, bạn có biết gì về lập trình hay không, chỉ cần biết trong bạn có niềm đam mê vời lập trình, đam mê với code. Hãy đến với câu lạc bộ lập trình Hutech để cùng nhau học hỏi, chia sẻ kinh nghiệm và nâng cao kinh nghiệm qua các bài lab từ đơn giản đến phức tạp.

Hiện tại, câu lạc bộ sẽ được anh Phong – 08DTHH giúp đỡ trong quá trình sinh hoạt tại trường, và các thành viên cũ trong câu lạc bộ. Các thành viên cũ sẽ cùng nhau nâng cao kinh nghiệm của bản thân và chia sẻ kinh nghiệm, kiến thức và cùng học hỏi với các thành viên mới.

Về khóa 09: giao cho Toàn và Tùng phụ trách. Toàn sẽ phụ trách về mặt tổ chức, thành viên. Tùng sẽ phụ trách coding, hướng dẫn các thành viên khác về code, kinh nghiệm trong coding.

Về khóa 10: Công và Nam sẽ phụ trách. Công sẽ phụ trách về tổ chức. Nam sẽ phụ trách về code. Nếu trường họp ai ko tham gia tiếp tục thì khóa 09 sẽ hỗ trợ bên khóa 10.

Thủ quỹ: vẫn là Lệ.

Về database: Lệ và Linh học hỏi anh Phong để có thêm kinh nghiệm trong thiết kế Database.

Các thành viên mới sẽ sinh hoạt chung với thành viên cũ, người cũ giúp người mới cùng nhau phát triển.

Nội dung sinh hoạt trong câu lạc bộ

Vẫn như năm ngoái, câu lạc bộ sinh hoạt về lập trình xoay quanh các công nghệ của Microsoft là .NET.

Ban đầu là làm quen với ngôn ngữ C#, sau đó là winform. Sau khi thành thạo winform. Bắt đầu chia nhóm:

Nhóm 1: Nghiên cứu về ERP và phát triển các nền tảng ERP.

Nhóm 2: Nghiên cứu web form ASP.NET và MVC framework của Microsoft.

Sau khi hoàn thành các nội dung trên câu lạc bộ sẽ tiếp tục đưa các nội dung mới từ công việc đi làm thực tế vào cho câu lạc bộ sinh hoạt,

Kế hoạch phát triển câu lạc bộ

Với tiêu chí, cùng nhau phát triển.Câu lạc bộ lập trình hutech, luôn hoan ngênh các thành viên đam mê lập trình sinh hoạt. Cừ người trước hướng dẫn nguời sau và học hỏi từ nguwofi đi trước nữa.

Nếu như bạn là một nguời chỉ muốn học hỏi để biết cho riêng mình thì đừng chọn lựa tham gia câu lạc bộ này.

Chúng tôi cần những con nguời muôn học hỏi và giúp đỡ mọi nguời cung fnhau đi lên chứ ko cần những con người xuất sắc nhưng lại luôn giữ cho riêng mình.

Thân!

Hutech Developer Club – IT TRAN 90

 
Leave a comment

Posted by on 09/02/2012 in Documents

 

Thẻ: , ,

Hướng dẫn cài đặt Oracle XE 10G trên Ubuntu 11.10 Step by Step

  1. Ở các phiên bản trước thì việc cài oracle có đơn giản hơn 1 chút do từ phiên bản 11.10 , ubuntu hỗ trợ java 7 chứ ko có sẵn java 6.
  2. Việc cài đặt Oracle XE trên ubuntu có thể bao gồm 3 bước cơ bản như sau:
  3. Cài đặt JAVA 6 , JDK, JRE, OpenJdk6
  4. Cài đặt Oracle XE 10g
  5. Cài đặt công cụ quản lý SQL Developer.
  6. BƯớc 1: Cài đặt java 6
  7. sudo add-apt-repository ppa:ferramroberto/java
    sudo apt-get update
    sudo apt-get install sun-java6-jre sun-java6-plugin
    sudo apt-get install openjdk-6-jdk
    sudo apt-get install sun-java6-jdk

  8. Bước 2: cài đặt Oracle .
  9. Thay đổi source list, thêm dòng mà sau vào cuỗi file /etc/apt/sources.list.
  10. deb http://oss.oracle.com/debian unstable main non-free
  11. Import key
  12. wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle -O- | sudo apt-key add -
  13. Update lại hệ thống.
  14. sudo apt-get update
  15. Cài đặt gói Oracle Express.
  16. sudo apt-get install oracle-xe oracle-xe-client
  17. Cấu hình cho server oracle chay (Ở đây có bước nhập pass cho user Sys va system mọi người nhớ lưu nhớ pass này)
  18. sudo /etc/init.d/oracle-xe configure
  19. Chạy thử xem server Oracle đã chạy chưa
  20. http://127.0.0.1:8080/apex
  21. Buoc 3: Cai dat sql Developer
  22. sudo apt-get update

    sudo apt-get install sqldeveloper-package

    Sau khi cái thành công, chạy sqldeveloper sẽ yêu cầu bạn nhập đươngf dẫn cho jdk.

    Các bạn có thể cấu hình lại để bở qua bước này như sau:

    Tìm đến file sqldeveloper.conf trong thư mục /opt/sqldeveloper/sqldeveloper/bin.

    Thêm dòng mã sau vào file đó: SetSkipJ2SDKCheck true.

    Như vậy là xong. Chúc các bạn thành công.

    ĐÃ test thành công trên ubuntu 11.10.

    NguoonfL Internet và Google

 
Leave a comment

Posted by on 17/01/2012 in JSP, Linux - Ubuntu

 

Thẻ: , , , ,

Tùy chỉnh Ubuntu Bootloader Screen

Hiện tại GRUB2 là  trình bootloader mặc định của Ubuntu, nhưng với những người sử dụng dual boot, màn hình GRUB này thật nhàm chán chỉ bởi 1 màu đen chán ngắt …(Mặc dù nó chỉ xuất hiện trong quá trình khởi động có vài giây =]] ). Bài post này mình sẽ hướng dẫn các bạn tùy chỉnh cái bootloader screen của ubuntu theo ý thích

Chúng ta sử dụng một trình chỉnh sửa, tạm gọi là BURG :-s

B1: Cài đặt em nó nào

sudo add-apt-repository ppa:n-muench/burg  && sudo apt-get update

Vào Synaptic tìm soft với key burgMark For Install đẻ cài đặt.

B2: Quá trình cài đặt hiện ra… Nó hỏi bạn  Linux default command line bạn để mặc định là queit splash rồi chọn Forward

Tiếp đến nó hỏi bạn vị trí cài đặt boot loader… mặc định khi cài đặt bạn thường cài đặt ở /dev/sda. (Có một số người sử dụng dual boot thường cài bootloader ở phân vùng khác )

Kết thúc quá trình cài đặt chạy lệnh

sudo update-burg

B3: Khởi động lại máy tính, khi nào màn hình đến giao diện của BURG.. bạn sẽ thấy có 3 tùy chọn

  • F1. Xem giúp đỡ và xem các phím tắt khác.
  • F2. Chọn theme mà bạn muốn có trong list có sẵn.
  • F3. Chọn độ phân giải màn hình BURG mà bạn muốn.

B4: Để cài đặt một số theme khác mà bạn sưu tầm được. Bạn copy theme đó vào

/boot/burg/themes

rồi chạy lệnh

sudo update-burg

P/S: Địa chỉ tìm kiếm theme.

http://gnome-look.org/

Có thể thêm ứng dụng Gurb Manager để có thể quản lý dễ dàng hơn và cũng dễ sau này khi cài đặt lại Grub

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer

Nguồn: Internet Sưu Tầm

 
Leave a comment

Posted by on 16/01/2012 in Linux - Ubuntu

 

Thẻ: , , ,

[developer club] – Thông báo sinh hoạt ngày 16/12/2011

Thứ 6 tuần này, khóa 09 sẽ bận ôn thi môn công nghệ phần mềm vấn đáp nên hơi khoai, do đó clb sẽ ko sinh hoạt chủ đề mới. Thay vào đó, chúng ta sẽ có 1 bài test nho nhỏ để biết trong 2 tháng qua các bạn học tập  trao đổi với nhau được những j.

Nội dung test sẽ là:

Cấu 1: Thiết kế 1 form đơn giản có chức năng đầy đủ: vd như tính tiền hay j j đó…

Câu 2: Phân tích 1 hệ thống nhỏ, vẽ mô hình ERD và xây dựng CSDL.

Câu 3: Xây dựng ứng dụng giựa trên câu 2. Nếu ko làm được câu 2, sẽ cung cấp DB cho các bạn…

Và nhớ mang source tuần vừa rồi đi nữa……

Thân: Developer Club.

 
Leave a comment

Posted by on 13/12/2011 in Documents

 

Thẻ: , , , ,

[developer club] Tutorial 3: Insert data by store procedured

Trong tutorial naỳ sẽ giới thiệu cho các bạn về store procedured và sử dụng một cách cơ bản trong các ứng dụng C# và transaction.

Tiếp tục làm quen với giao diện mdi và xây dựng ứng dụng quản lý thành viên câu lạc bộ.

Rút kinh nghiệm từ tutorial trước, làm hết cho các bạn đến khi đi sinh hoạt ai cũng làm xong hết, chỉ coi và viết lại. Trong tutorial, này mình chỉ làm 50% còn lại để các bạn làm phần còn lại và tương tự như phần mình đã làm.

Đã làm form add Group rồi, bây giờ các bạn làm form add member vô.

Source Code: >>DOWNLOAD HERE<<

Document về store procedured: >>DOWNLOAD HERE<<

VIDEO TUTORIAL:

PART 1

PART 2

PART 3

Chúc các bạn thành công! Làm cho xong phần còn lại đó nha…..

 
Leave a comment

Posted by on 05/11/2011 in Tutorial, Window Form

 

Thẻ: , , , , , , ,

[Developer Club] – Bộ tài liệu học ADO.NET

Đây là bộ tài liệu học lập trình với ADO.NET (phần mềm quản lý với cơ sở dữ liệu).

>>Download Here<<

 
Leave a comment

Posted by on 02/11/2011 in Documents, Window Form

 

Thẻ: , , , , ,

 
Follow

Get every new post delivered to your Inbox.