Làm việc với Stored Procedure « Võ Văn Hải's blog

17
12/23/11 Làm việc vӟi Stored Procedure « Võ Văn Hải's blog 1/17 vovanhai.wordpress.com/java/lập-trinh-java-nang-cao/…/lam-việc-vӟi-stored-procedure/ Võ Văn Hải's blog Chỉ có một điều tuyệt đối đó là mọi thứ đều tương đối… Home C# Visual Basic Java J2EE Web My Projects XMLJ Web services My Garden SE CTDL Design Patterns About Đọc Võ Văn Hải’s Blog Sử dụng FireFox V3 và độ phân giải màn hình cao nhất để có thể xem blog được tốt nhất! Chia sẻ kiến thức Bạn có thể viết bài mới. Bạn có thể "đặt hàng" bài viết. Mọi chi tiết xin mail về cho tác giả blog. Xin chân thành cảm ơn sự cộng tác của các bạn! Recent Posts Lựa chọn ngành CNTT: Tôi đã đi lầm đường hay có quá nhiều quyết định sai trái? 10 năm nhớ Trịnh Công Sơn: Cát bụi Java hay .NET? Một bài toán nan giải của nhiều Newbie Chuyện độc quyền Microsoft cho phép tải về mã nguồn các control của Silverlight 2 Archives Select Month Subscribe Entries (RSS) Comments (RSS) Các phản hồi gần đây

Transcript of Làm việc với Stored Procedure « Võ Văn Hải's blog

Page 1: Làm việc với Stored Procedure « Võ Văn Hải's blog

12/23/11 Làm việc với Stored Procedure « Võ Văn Hải's blog

1/17vovanhai.wordpress.com/java/lập-trinh-java-nang-cao/…/lam-việc-với-stored-procedure/

Võ Văn Hải's blog

Chỉ có một điều tuyệt đối đó là mọi thứ đều tương đối…

HomeC#Visual BasicJava

J2EEWebMy ProjectsXMLJWeb services

My GardenSE

CTDLDesign Patterns

About

Đọc Võ Văn Hải’s Blog

Sử dụng FireFox V3 và độ phân giải màn hình cao nhất để có thể xem blog được tốt nhất!

Chia sẻ kiến thức

Bạn có thể viết bài mới. Bạn có thể "đặt hàng" bài viết. Mọi chi tiết xin mail về cho tác giả blog. Xin chân thành cảm ơnsự cộng tác của các bạn!

Recent Posts

Lựa chọn ngành CNTT: Tôi đã đi lầm đường hay có quá nhiều quyết định sai trái?10 năm nhớ Trịnh Công Sơn: Cát bụiJava hay .NET? Một bài toán nan giải của nhiều Newbie

Chuyện độc quyềnMicrosoft cho phép tải về mã nguồn các control của Silverlight 2

Archives

Select Month

Subscribe

Entries (RSS)Comments (RSS)

Các phản hồi gần đây

Page 2: Làm việc với Stored Procedure « Võ Văn Hải's blog

12/23/11 Làm việc với Stored Procedure « Võ Văn Hải's blog

2/17vovanhai.wordpress.com/java/lập-trinh-java-nang-cao/…/lam-việc-với-stored-procedure/

Võ Văn Hải on Java Web servicesVõ Văn Hải on EJB 3Võ Văn Hải on C#Võ Văn Hải on Lập trình java nâng cao

Võ Văn Hải on Bean-Managed Persistent Entity Beans – EJB2- Student ExampleVõ Văn Hải on JavaVõ Văn Hải on Javatruong ho on TẠO WEB SERVICE SỬ DỤNG ECLIPSE

japanese1801 on Làm việc với Text Filenota on Java hay .NET? Một bài toán nan giải của nhiều Newbieminh on Lựa chọn ngành CNTT: Tôi đã đi lầm đường hay có quá nhiều quyết định sai trái?qanh on Java

nguyentrunghieuct on Bean-Managed Persistent Entity Beans – EJB2- Student Examplejava on JavaNhân on Lựa chọn ngành CNTT: Tôi đã đi lầm đường hay có quá nhiều quyết định sai trái?

Các trang được yêu thích

Lập trình java căn bản

JavaC#

Lập trình java nâng caoMô hình MVC và 1 ví dụ ứng dụng

Làm việc với Text FileKết nối java với SQL server

Cơ bản về Cấu hình Tomcat

Làm việc với Stored ProcedureĐóng gói 1 ứng dụng java thành file EXE

Ứng dụng duyệt hình ảnh với C#Lưu hình ảnh vào database

Search

December 2011

M T W T F S S

« Aug

1 2 3 4

5 6 7 8 9 10 11

12 13 14 15 16 17 18

19 20 21 22 23 24 25

26 27 28 29 30 31

Ngẫm và nghĩ

Đừng nghĩ bạn được bao nhiêu điểm. Đừng nghĩ bạn học ở trường nào. Đừng nghĩ bạn tốt nghiệp loại gì.

Page 3: Làm việc với Stored Procedure « Võ Văn Hải's blog

12/23/11 Làm việc với Stored Procedure « Võ Văn Hải's blog

3/17vovanhai.wordpress.com/java/lập-trinh-java-nang-cao/…/lam-việc-với-stored-procedure/

Hãy nghĩ: MÌNH CÓ GÌ TRONG ĐẦU.

Sorry

Đôi khi vì công việc quá bận rộn nên tôi không thể trả lời hết được tất cả các câu hỏi của các bạn. Mong các

bạn bỏ quá cho. Các bạn có thể trả lời các câu hỏi, xin giúp 1 tay!

Pages

AboutC#

Ứng dụng duyệt hình ảnh với C#

Ứng dụng mô hình 3-tiers trong C#Chương trình nghe nhạc, xem phim, xem hình dựa trên WMP

Gửi và nhận DataTable qua Socket trong C#Liệt kê các tên culture và các định danh trong C#

Localization – Internationalization (Địa phương hóa – Quốc tế hóa

Lưu hình ảnh vào databaseTạo playlist trong Windows Media Palyer với C#

Đóng gói và triển khai ứng dụng trong VS2005CTDL

Cấp phát quyền cho chương trình C/C++ theo hướng cấu trúc

Một số thao tác trên danh sách liên kết đơnĐọc ghi 1 mảng cấu trúc trong C++

Design Patterns

J2EEEJB

Bean-Managed Persistent Entity Beans – EJB2- Student ExampleContainer-Managed Persistence Entity Beans EJB2 – Employees Example

DÙNG CMP TẠO ORDER

Dùng java authentication & authorization services(jaas) cấu hình phân quyền sử dụng cácbussiness methods trong ejb

EJB 2.x với NetBeans 6.7.1 & JBoss AS 4.23 GA

Security với JAAS sử dụng DatabaseServerLoginModuleStaless Session Bean – EJB2, ví dụ 1

Staless Session Bean – EJB2, ví dụ 2 – Xác nhận đăng nhậpStateful Session Bean – EJB2 – ShoppingCart

TẠO TRANSACTION VỚI BEAN-MANAGED TRANSACTION

TẠO TRANSACTION VỚI CONTAINER-MANAGED TRANSACTION

EJB 3Chuyển mã JDBC Data Access Objects để sử dụng EJB3EJB3 Entity Bean with JBOSS

JPA EJB3 – ví dụ mối quan hệ giữa các bảng trong CSDLStaless Session Bean – EJB3STATEFULL SESSION BEAN – EJB3 VÀ 1 VÍ DỤ VỀ SHOPPINGCART

Java Mail

Gửi mail có chứng thực trong javaĐọc gmail với JavaMail API

JMS

JMS – ví dụ làm việc với Point-To-Point Model và Publish-and-Subscribe Model

Page 4: Làm việc với Stored Procedure « Võ Văn Hải's blog

12/23/11 Làm việc với Stored Procedure « Võ Văn Hải's blog

4/17vovanhai.wordpress.com/java/lập-trinh-java-nang-cao/…/lam-việc-với-stored-procedure/

VÍ DỤ VỀ MESSAGE-DRIVEN BEANS TRUY XUẤT ENTITY BEAN

VÍ DỤ VỀ MESSAGE-DRIVEN BEANS ĐƠN GIẢNRMI

Các bước tạo ứng dụng với RMI

Liệt kê tất cả các rmi object đã đăng ký trong 1 rmi registryMột ứng dụng RMI truy xuất CSDLParameter Passing in Remote Methods Invocation

Triệu gọi ứng dụng RMI trong AppletJava

Lập trình java căn bảnAssignment 2008

Bài tập chương 4Pig Game

Các bước căn bản tạo đối tượng trong java

Các bước làm việc với tập hợp các đối tượngCấu hình JDK và JCreatorCode liên quan đến xử lý Date

GUI applicationChuyển đổi giao diện thành “Windows look and feel” trong Java 6Chuyển đổi giao diện thành “Motif look and feel” trong Java 6

GUI & Object trong 1 ví dụIn ấn trong các Text ComponentJDK6 Splash ScreenTạo ứng ứng dụng đa cửa sổ (Multiple Document Interface – MDI)

Tạo/Hủy System Tray iconThêm Mouse listener/Mouse motion listener vào TrayIconVí dụ về System Tray đáp ứng chọn lựa từ user

Vẽ hình nền trên JFrameHướng dẫn làm việc với EclipseLàm việc với Text File

Liệt kê tất cả các tập tin có trong 1 file JAR hoặc ZIPMột chương trình Notepad đơn giản với javaObject Serialization

Sử dụng text file để lưu trữ dữ liệu dạng CSDLThống kê các từ trong một văn bảnThực thi 1 file với chương trình mặc định

Đóng gói 1 ứng dụng java thành file EXEĐóng gói 1 ứng dụng thành executable-jar file

Lập trình java nâng caoCác chủ đề khác

Biên dịch 1 file java bên trong 1 chương trình javaJDBC – Java Database Connectivity

Biểu diễn quan hệ mối quan hệ master-details bằng JTree – JTable

Các thao tác cơ bản trong lập trình JDBCChèn hình xuống MS SQL server sử dụng GUIChèn và đọc hình từ cơ sở dữ liệu

Export dữ liệu ra Excel dùng POIJTable với các thao tác CRUD trên cơ sở dữ liệuKết nối java với Oracle

Kết nối java với SQL server

Page 5: Làm việc với Stored Procedure « Võ Văn Hải's blog

12/23/11 Làm việc với Stored Procedure « Võ Văn Hải's blog

5/17vovanhai.wordpress.com/java/lập-trinh-java-nang-cao/…/lam-việc-với-stored-procedure/

Làm việc với Stored ProcedureTạo đối tượng ConnectionFactory dùng cho kỹ thuật kết nối dùng chung (connection-pool)Thao tác với Metadata

Updatable JTableĐọc hình từ MS SQL server rồi hiển thị lên JTable

JPA – Java Persistence API

Làm việc với JPA trong NetBean 6.1Thiết lập Eclipse JPA Project dựa trên Java SE sử dụng Hibernate

Networking

Ứng dụng Tabbed Web browserChatRoom đơn giảnLập trình Socket – tạo ứng dụng Calculator

Thống kê ký tự trong file và vẽ biểu đồMy Garden

Âm nhạcBài hát có thể làm chết người?

Cảm xúcChuyện tìnhChuyện tình con chuồn chuồn

Như chờ tình đến rồi hãy yêu…Seminar

Giới thiệu Design Patterns

Seminar J2EE6Vui vui

My Projects

Sinh code tự động cho các Entities – C#SE

JUnit Test trong JavaNUnit Test với Microsoft Visual Studio

Testing – Sự sống còn của sản xuất phần mềmUnit Test với Microsoft Visual Studio 2010Unit Test với Visual Studio 2008

Visual BasicCăn bản Class trong Visual Basic.NetStructure trong VB.Net

Xử lý mảng động trong Visual Basic.NetWeb

ASP.Net

Windows Mobile Web Form với Visual Studio 2008Host ứng dụng web

Hướng dẫn Hosting JSP/Servlet.

Quản lý CSDL với PHP MyAdminJSF – Java Server Face

ComboBox trong DataGrid với JSFEJB3 – JPA – JSF trong 1 ví dụ

JBoss RichFacesCấu hình và phát triển RichFaces với Eclipse GanymedeDùng rich:panelMenu hiển thị dữ liệu của 2 bảng csdl quan hệ 1-n

RichFaces: Logon và Registration applicationCấu hình web config

Page 6: Làm việc với Stored Procedure « Võ Văn Hải's blog

12/23/11 Làm việc với Stored Procedure « Võ Văn Hải's blog

6/17vovanhai.wordpress.com/java/lập-trinh-java-nang-cao/…/lam-việc-với-stored-procedure/

Tạo database cho ứng dụng

Tạo managed beansTạo project với EclipseTạo resource bundle (properties file)

Thực thi ứng dụngThiết kế các trang JSPĐăng ký các managed bean và định nghĩa các navigation rules

Sắp xếp dữ liệu hiển thị trong bảng

Upload file trong RichFacesXử lý sự kiện trên rich:dataTable

JSF – Làm việc với CƠ SỞ DỮ LIỆU

Làm việc với JSF trong Eclipse GanymedeJSP

Các bước tạo 1 servlet dùng JSP để tạo 1 trang XML

Cấu hình Tomcat trong NetBeansCustom Tag JSP – EclipseCơ bản về Cấu hình Tomcat

Dùng SERVLET – JSP triệu gọi EJBGiỏ hàng với JSPLấy các giá trị được lưu trong thẻ “env-entry” của file web.xmlLấy tất cả các Locale khả dĩ với java

Mô hình MVC và 1 ví dụ ứng dụngXây dựng custom tag hiển thị dữ liệu table của 1 databse

Servlet programming

Ứng dụng Servlet đầu tiên với EclipseCấu hình JDBC Realm cho TomcatDeclarative Security in Servet

Form-based security in servletForm-based security với Tomcat users

Programatic security in serletSử dụng HttpSession tạo ứng dụng giỏ hàng trong Servlet

Secure web sử dụng HTTPS

StrutsCấu hình validation cho Struts 1.29 trong NetBeans 6.1

Giỏ hàng với Struts và Netbeans

So sánh Struts 1 và Struts 2Struts 1.x với Eclipse

Struts 1.x với NetBeans

Ví dụ Logon với Struts 2 trên Eclipse GanymedeWeb services

C# Web servicesỨng dụng truy xuất java Web Service

Dùng ASP.Net truy xuất java Web Service

Tạo Web service với C# step-by-stepGiới thiệu về Web Service

Java Web services

Consume .NET Web Service with EclipseConsume a .NET Web Service with Axis2 tools

Làm việc với JAX-WS trong Eclipse

Phát triển 1 JAX-WS EJB3 Stateless Session Bean Web Service

Page 7: Làm việc với Stored Procedure « Võ Văn Hải's blog

12/23/11 Làm việc với Stored Procedure « Võ Văn Hải's blog

7/17vovanhai.wordpress.com/java/lập-trinh-java-nang-cao/…/lam-việc-với-stored-procedure/

RESTful Web Service

TẠO WEB SERVICE SỬ DỤNG ECLIPSE

Tạo JSP Web Service ClientTạo Web Service Client sử dụng SOAP UI Plugin

Tạo Web services với JAX-WS 2.0 và Java SE 6 Platform

Secure Web Service sử dụng Username Authentication with Symmetric Keys (UA)Web service Security với NetBeans 6.x

Web Service truy xuất cơ sở dữ liệu

XMLJChuyển Html sang XML

Convert DOM to JDOM

Convert DOM to SAXConvert JDOM to DOM

Convert SAX to JDOM

Dùng DOM đọc file XML biểu biễn trên JTreeHiển thị XML với màu sắc theo cú pháp

Streaming API for XML (StAX)

Validate tài liệu kết quả của việc transform 1 tài liệu xmlValidator tài liệu XML

XML – JSPDùng DOM để hiển thị tài liệu trong JSP

Dùng JAXB tools để chuyển đổi tài liệu XML thành java và ngược lại

Dùng JSP transform tài liệu XML thành HTMLDùng SAX hiển thị tài liệu XML trên JSP

Dùng SAX hiển thị tài liệu XML trên JSP với JSPWriter

XML Simple EditorXSLT Examples

XSLT xsl:apply-templates Element

XSLT xsl:choose ElementXSLT xsl:for-each Element

XSLT xsl:if Element

XSLT xsl:sort ElementXSLT xsl:template Element

XSLT xsl:value-of Element

Blog Stats

1,207,956 hits

Email Subscription

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 170 other followers

Sign me up!

Page 8: Làm việc với Stored Procedure « Võ Văn Hải's blog

12/23/11 Làm việc với Stored Procedure « Võ Văn Hải's blog

8/17vovanhai.wordpress.com/java/lập-trinh-java-nang-cao/…/lam-việc-với-stored-procedure/

Làm việc với Stored Procedure

Trong bài viết này tôi sẽ giới thiệu với các bạn cách chúng ta thao tác với các StoredProcedure trong java với đối tượng

CallableStatement.

CallableStatement là đối tượng kế thừa từ đối tượng PreparedStatement, như vậy có các tính chất của 1 PreparedStatement

(tức có các tính chất của Statement(public interface CallableStatement extends PreparedStatement). Chúng ta tạo 1

CallableStatement bằng cú pháp sau:

CallableStatement prepareCall(String sql) throws SQLException hoặc

CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException.

Sau đó chúng ta triệu gọi các stored procedure bằng các cú pháp sau:

Đối với procedure không có tham số: {call procedure_name}

Đối với procedure có tham số: {call procedure_name(?,?,…)}

Đối với procedure có giá trị trả về (function): {?=call procedure_name(?,?,…)}

Ví dụ: CallableStatement cstmt = con.prepareCall(“{call procedureName(?, ?)}”);

trong đó các dấu ? thay thế cho các tham số kiểu IN, OUT, INOUT.

Đối với tham số kiểu IN, ta sử dụng phương thức setXXX của đối tượng PrepareStatement để chuyển tham số vào. ví dụ:

cstmt.setString(1, “c%”);

Đối với tham số kiểu OUT, ta phải đăng ký đầu ra trước khi thực thi, ví dụ:

stmt.registerOutParameter(1, java.sql.Types.INTEGER);

Đối với tham số dạng INOUT, ta kết hợp gồm IN và OUT.

================================================

Dể dễ hiểu, tôi sẽ viết 1 ví dụ thực thi các kiểu StoredProcedure cho các bạn.

Trước hết ta tạo 1 database có tên QLSV trong đó có 1 bảng có tên Lophoc . SQL script cho database như sau:

CREATE TABLE [dbo].[Lophoc]([classID] [nvarchar](15) COLLATE Vietnamese_CI_AS NOT NULL,

[className] [nvarchar](100) COLLATE Vietnamese_CI_AS NOT NULL,[studentsNum] [int] NOT NULL,

[deptID] [nvarchar](15) COLLATE Vietnamese_CI_AS NULL,

CONSTRAINT [PK_tblClass] PRIMARY KEY CLUSTERED(

[classID] ASC

)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]) ON [PRIMARY]

Sau đó chúng ta tạo các procedure để thử. Script sau đây sẽ tạo các stored procedure cho chúng ta:

–Tạo proc cho tham số IN

Page 9: Làm việc với Stored Procedure « Võ Văn Hải's blog

12/23/11 Làm việc với Stored Procedure « Võ Văn Hải's blog

9/17vovanhai.wordpress.com/java/lập-trinh-java-nang-cao/…/lam-việc-với-stored-procedure/

create proc exInparams@clsID varchar(15)

AS

select *from tblClass

where tblClass.classID like @clsID

GO–Thực thi

exec exInparams ‘c%’

–********************************************-Tạo proc cho tham số output

create proc exOutParams

@cls varchar(15),@num int OUTPUTas

select @num=count(classID)

from tblClasswhere classID like @cls

go

–Thực thideclare @s int

exec exOutParams ‘c%’,@s OUTPUT

print @s–********************************************

-Tạo proc cho tham số INOUT

create proc exINOUTParams@num int OUT

as

select @num=count(classID)from tblClass

where studentsNum>@numgo

select * from tblClass

–Thực thideclare @s int

set @s=100

exec exINOUTParams @s OUTPUTprint @s

–********************************************

–Hàm Function–Hàm lấy số SV của 1 lớp khi biết mã số lớp

create FUNCTION dbo.getNoStudents (@classID varchar(15))

RETURNS intAS

BEGIN

Declare @c intset @c=(select studentsNum from tblClass where classID = @classID)

return @c

ENDgo

–Thực thi

Page 10: Làm việc với Stored Procedure « Võ Văn Hải's blog

12/23/11 Làm việc với Stored Procedure « Võ Văn Hải's blog

10/17vovanhai.wordpress.com/java/lập-trinh-java-nang-cao/…/lam-việc-với-stored-procedure/

declare @x intset @x=dbo.getNoStudents(‘cdth4c’)

print(@x)

–********************************************

Bạn tạo DB rồi chạy các hàm để thử trên hệ quản trị CSDL, chẳng hạn MS SQLserver.

bạn tạo lớp sau để thử các loại:

p a c k a g e v o v a n h a i . w o r d p r e s s . c o m ;

import java.sql.CallableStatement;

import java.sql.Connection;

import java.sql.ResultSet;

import session6_JDBC.ConnectDBFactory;

//thử tham số đầu vào

public class TestCallable {

private Connection con;

void TestINPro() throws Exception{

con=ConnectDBFactory.CreateMsSqlServerConnection(“QLSV”);

String sql=“{call exInparams(?)}”;

CallableStatement cstmt=con.prepareCall(sql);

cstmt.setString(1, “c%”);

ResultSet rs=cstmt.executeQuery();

while(rs.next()) {

System.out.println(rs.getString(“className”));

}

con.close();

}//thử tham số đầu ra

void TestOUTPro() throws Exception{

con=

ConnectDBFactory.CreateMsSqlServerConnection(“QLSV”);

String sql=“{call exOutParams(?,?)}”;

Page 11: Làm việc với Stored Procedure « Võ Văn Hải's blog

12/23/11 Làm việc với Stored Procedure « Võ Văn Hải's blog

11/17vovanhai.wordpress.com/java/lập-trinh-java-nang-cao/…/lam-việc-với-stored-procedure/

CallableStatement cstmt=con.prepareCall(sql);

cstmt.setString(1, “d%”);

//đăng ký tham số đầu ra

cstmt.registerOutParameter(2, java.sql.Types.INTEGER);

cstmt.execute();

//Lấy giá trị trả về

int s=cstmt.getInt(2);

System.out.println(s);

con.close();

}//Thử tham số vừa vào vừa ra

void TestINOUTPro() throws Exception{

con=ConnectDBFactory.CreateMsSqlServerConnection(“QLSV”);

String sql=“{call exINOUTParams(?)}”;

CallableStatement cstmt=con.prepareCall(sql);

cstmt.setInt(1, 200);

//Đăng ký tham số đầu ra

cstmt.registerOutParameter(1, java.sql.Types.INTEGER);

cstmt.execute();

//lấy giá trị trả về

int s=cstmt.getInt(1);

System.out.println(s);

con.close();

}//Thử việc triệu gọi 1 function có giá trị trả về

public void TestFunctionCall() throws Exception {

ConnectDBFactory.CreateMsSqlServerConnection(“QLSV”);

CallableStatement cst=con.prepareCall(“{?=call getNoStudents(?)}”);

cst.registerOutParameter(1,java.sql.Types.INTEGER);

cst.setString(2,“CD”);

Page 12: Làm việc với Stored Procedure « Võ Văn Hải's blog

12/23/11 Làm việc với Stored Procedure « Võ Văn Hải's blog

12/17vovanhai.wordpress.com/java/lập-trinh-java-nang-cao/…/lam-việc-với-stored-procedure/

cst.execute();

int ret=cst.getInt(1);

System.out.println (“Số sinh viên: ”+ret);

}

}

OK. Chúc các bạn thành công! Nếu hữu ích, thanks 1 tiếng nhé!

22 Responses to “Làm việc với Stored Procedure”

1.

Bao Long said

May 27, 2009 at 8:31 am

Xin chân thành cảm ơn thầy rất nhiều!

2.

Hoang Nam said

May 31, 2009 at 8:10 am

cám ơn thầy rất nhiều, em đang rất cần bài viết trên ^.^!

3.

Phạm Thị Mai Thu said

October 16, 2009 at 3:57 am

Em cám ơn thầy rất nhiều. Bai viết này rất dễ hiểu và có ích đối với em.

4.

sundud said

October 26, 2009 at 2:02 am

Cho em hỏi làm sao để insert một chuỗi tiếng việt có dấu vào mysql thông qua store procedure được gọi từ java? Vìem chỉ làm insert được tiếng việt vào mysql thông qua các câu lệnh trong mysql query browser thôi, còn khi cho gọi từjava thì lại không được. Mong thầy chỉ giúp. Em cám ơn.

Page 13: Làm việc với Stored Procedure « Võ Văn Hải's blog

12/23/11 Làm việc với Stored Procedure « Võ Văn Hải's blog

13/17vovanhai.wordpress.com/java/lập-trinh-java-nang-cao/…/lam-việc-với-stored-procedure/

5.

Minh dung hoi said

December 7, 2009 at 6:33 am

Cho em hỏi làm sao để insert một chuỗi tiếng việt có dấu vào SQL SERVER 2000 thông qua store procedure đượcgọi từ form VB.NET Vì em chỉ làm insert được tiếng việt vào SQL thông qua các câu lệnh trong SQL thôi bang cáchinsert values (N’Nguyễn Văn Tèo’)nhưng thay Nguyễn Văn Tèo bằng 1 biến chứa giá trị tiếng việt truyền từ form

VB.NET thì lại không được. Mong thầy chỉ giúp. Em cám ơn.

6.

vovanhai said

December 11, 2009 at 6:43 am

Khi tôi làm thấy bình thường mà. Bạn dùng VB.Net phiên bản nào? Khi bạn code, design bạn có lưu form/code củabạn ở dạng unicode không?

7.

tuyethai said

March 31, 2010 at 6:31 pm

Em chao Thay,Em cung su dung nhung doan code nhu thay vua viet nhung khong hieu sao khong ra duoc. Rat mong thay giup em.Em dung 1 sp voi noi dung nhu sau:

CREATE PROCEDURE [dbo].[sp_dsNhanVien] @viTri int, @soMauTin int output AS

declare contro scroll cursor forselect maNV, ho, ten, ngaySinh, diaChi, luong, ghiChufrom NhanVien

open controif(@viTri = 1)beginfetch first from contro

endset @soMauTin = @@cursor_rowsclose contro

deallocate controGO

Sp nay em goi trong Analyzer thi nhan duoc output nhung khi viet code java (dung netbean 6.5) thi khong nhan duocgia tri bien output luon bang 0.

try {Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);

con = DriverManager.getConnection(“jdbc:odbc:QuanLyVatTu”, “sa”, “”);

Page 14: Làm việc với Stored Procedure « Võ Văn Hải's blog

12/23/11 Làm việc với Stored Procedure « Võ Văn Hải's blog

14/17vovanhai.wordpress.com/java/lập-trinh-java-nang-cao/…/lam-việc-với-stored-procedure/

} catch (SQLException ex) {Logger.getLogger(NhanVien.class.getName()).log(Level.SEVERE, null, ex);} catch (ClassNotFoundException ex) {

Logger.getLogger(NhanVien.class.getName()).log(Level.SEVERE, null, ex);}

try {// TODO add your handling code here:viTri = 1;

st = “{call sp_dsNhanVien(?, ?)}”;cs = con.prepareCall(st);cs.setInt(1, viTri);

cs.registerOutParameter(2, java.sql.Types.INTEGER);

rs = cs.executeQuery();soMauTin = cs.getInt(2); // soMauTin: la output va em luon nhan duoc la 0int j = 0;

} catch (SQLException ex) {Logger.getLogger(NhanVien.class.getName()).log(Level.SEVERE, null, ex);}

Xin Thay giup em.Em cam on Thay nhieu!

8.

xin hỏi thầy java có gọi trực tiếp store procedure của sql server k ah? said

August 12, 2010 at 2:49 am

xin hỏi thầy java có gọi trực tiếp store procedure của sql server k ah? Nếu được thì phải làm thế nào?Mong thầy bày cách giúp e! E xin cảm ơn!

9.

vovanhai said

August 13, 2010 at 3:29 am

Em xem trong phần các bài viết về JDBC trong blog này, có chỉ cách!

10.

xin hỏi thầy ah! said

August 13, 2010 at 6:51 am

thưa thầy! thư viện session6_JDBC lấy ở đâu?

Page 15: Làm việc với Stored Procedure « Võ Văn Hải's blog

12/23/11 Làm việc với Stored Procedure « Võ Văn Hải's blog

15/17vovanhai.wordpress.com/java/lập-trinh-java-nang-cao/…/lam-việc-với-stored-procedure/

11.

Thầy cho e hỏi said

August 13, 2010 at 7:46 am

Lớp này thầy xây dựng như thế nào ah?

“session6_JDBC.ConnectDBFactory”

12.

vovanhai said

August 21, 2010 at 5:00 am

Tìm các bài trước đó có.

13.

Thầy cho em hỏi. said

October 5, 2010 at 9:17 am

em dùng store proc để chèn dữ liệu vào db. nhưng không chèn được tiếng việt có dấu. nó bị {tiếng->ti?ng}. mong

thầy giúp đỡ. Cảm ơn!.

14.

Võ Văn Hải said

October 8, 2010 at 3:23 am

thêm N’ vào các chuỗi.

15.

Huỳnh Văn Lộc said

October 28, 2010 at 11:13 am

Thầy ơi cho em hỏi là khi em nhận 1 Resultset trả về từ 1 Procedure (param kiểu OUT) thì nó có thể Scroll tới luiđược không Thầy…em dùng CSDL Oracle.

CallableStatement cs = conn.prepareCall(“{callGET_LIST_DOMAIN_PROC(?)}”,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);cs.registerOutParameter(1,OracleTypes.CURSOR );

cs.execute();ResultSet rs = (ResultSet)cs.getObject(1);

Page 16: Làm việc với Stored Procedure « Võ Văn Hải's blog

12/23/11 Làm việc với Stored Procedure « Võ Văn Hải's blog

16/17vovanhai.wordpress.com/java/lập-trinh-java-nang-cao/…/lam-việc-với-stored-procedure/

khi em gọi rs.last() hay rs.beforeFirst()… thì nó phát sinh lỗi

16.

Võ Văn Hải said

November 27, 2010 at 11:44 am

Tôi thử rồi. Chạy tốt. Nhưng bạn dùng Driver gì?

17.

huynhdam39 said

June 30, 2011 at 3:55 pm

xin cám on tác giả

18.

Bich thao said

October 7, 2011 at 4:14 am

thay oi cho em hoi thay co biet cach nao de load tat ca cac database trong sql server 2005 len combobox trong C#ko thay . Neu thay biet thi giup em voi nha .mail cua em la : [email protected]

cam on thay nhiu lam ^ ^

19.

Bich thao said

October 12, 2011 at 3:32 am

em con mot van de nua la neu tren form minh thuc thi store trong sql rui va muon no hien thi ra textbox .vi khi thuc thi

store no se cho ra mot cau lenh thuc thi khac dang print trong sql em muon no hien thi phan print do ra ben ngoai formde dung chuoi print do tiep tuc thuc thi cau lenh sql. neu thay biet thi gui mail cho em voi cam on thay nhiu lam ^^

20.

Võ Văn Hải said

October 13, 2011 at 3:13 pm

thực thi câu truy vấn: sp_databases.

21.

Page 17: Làm việc với Stored Procedure « Võ Văn Hải's blog

12/23/11 Làm việc với Stored Procedure « Võ Văn Hải's blog

17/17vovanhai.wordpress.com/java/lập-trinh-java-nang-cao/…/lam-việc-với-stored-procedure/

Fill in your details below or click an icon to log in:

Notify me of follow-up comments via email. Post CommentPost Comment

Bich thao said

October 18, 2011 at 9:07 am

cam on thay em da load duoc cac table rui ^ ^

22.

Hoàng phúc said

December 8, 2011 at 2:41 am

Em chào thầy, thưa thầy em đang làm bài tập mô phỏng ứng dụng của DNS bằng java mà em đang bị rối trí về vấn đề

nên thực hiện thế nào, mong thầy cho em lời khuyên ạ. Em chân thành cảm ơn thầy.

Leave a Reply

Blog at WordPress.com . | Theme: Andreas09 by Andreas Viklund .

Enter your comment here...

[email protected]

Thảo

Website

FollowFollow

Follow Võ Văn Hải'sFollow Võ Văn Hải'sblogblog

Get every new post deliveredGet every new post delivered

to your Inbox.to your Inbox.

Join 170 other followersJoin 170 other followers

Enter email address