PDA

View Full Version : سوال: کار با Stored Procedure در جاوا



abdoullah.aberi
شنبه 29 شهریور 1393, 23:35 عصر
سلام بر دوستان برنامه نویس میخواستم بدونم کسی طریقه کار کردن با Stored Procedure در جاوا رو میدونه ؟
من یه پروسدور در Sql server ایجاد کردم حالا میخوام اونو در جاوا فراخوانی کنم چطوری امکانش هست میشه توضیح بدین
ممنون از بزرگواری شما

abdoullah.aberi
دوشنبه 31 شهریور 1393, 21:19 عصر
سلام و با تشکر از همه فعالان برنامه نویس
همین طور که مطلیید این تاپیک چند روز پیش ایجاد شد ولی کسی جواب نداد همین طور من تصمیم گرفتم خودم دست به کار شم و با سرچ کردن و تست و ازمایش بتونم یک سری اطلاعات هرچند نه چندان کامل رو برای اون کسانی که واقعا در کار با Stored Procedure در جاوا ناکام موندن بزارم همراه مثال شروع میکنم میدونم بعضی از مثالهای من باگ داره دوستان اگه باگی دیدین و انتقادی داشتین خیلی خوشجال میشم من رو در جریان بزارین

ممنون از بزرگواری شما

ahmad.t1100
دوشنبه 31 شهریور 1393, 21:27 عصر
سلام نوع بانکتونم مشخص کنید یکم بهتره


function read(query, user, request){
var sql ='EXEC MySProc @Param1 = ?, @Param2 = ?, @Param3 = ?';
var param1 = request.parameters.first;
var param2 = request.parameters.second;
var param3 = request.parameters.third;
mssql.query(sql,[param1, param2, param3],{
success:function(results){
request.respond(200, results);
}
});
}

abdoullah.aberi
سه شنبه 01 مهر 1393, 00:12 صبح
نوع دیتابیس SQL SERVER هستش و من خودم SQL Server 2012 استفاده میکنم

محمد فدوی
سه شنبه 01 مهر 1393, 16:50 عصر
یه سرچ بکنی به پاسخت میرسی. اصولا باید از CallabeStatement (http://docs.oracle.com/javase/7/docs/api/java/sql/CallableStatement.html) استفاده کنی. در موارد خاص هم میشه از PreparedStatement استفاده کرد
این (http://stackoverflow.com/questions/6113674/how-do-i-execute-a-ms-sql-server-stored-procedure-in-java-jsp-returning-table-d) و این (http://docs.oracle.com/javase/tutorial/jdbc/basics/storedprocedures.html) رو بخون.
موفق باشی.

abdoullah.aberi
چهارشنبه 02 مهر 1393, 06:12 صبح
سلام دوستان عزیز منون از نظراتتون امیدوارم همیشه خوب باشین و سرحال
امروز از اولین مثال شروع میکنیم من اینو در نظر میگیرم که شما معنی SP رو میدونی منظورم (Stored Procedure) هستش
-------------------------------------------------------------------------------------------------------------
1. از اولین مثال ساده شروع میکنم که شما یه SP Select نوشتین و می خواین اینو تو جاوا پیاده کنین
-------------------------------------------------------------------------------------------------------------




public class test {
public static void main(String args[]) throws ClassNotFoundException, SQLException {

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection connect = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName = test","admin","test2");
()PreparedStatement state = connect.prepareStatement("call SP_Name");
ResultSet result = state.execute();

while(result.next()) {
System.out.println(result.getString(1));
}

state.close();
connect.close();

}

}

abdoullah.aberi
چهارشنبه 02 مهر 1393, 06:22 صبح
---------------------------------------------------------------------------------------------------------------------------------------------------
2 . شما یک SP Insert نوشتین که یک پارامتر ورودی داره و نوع String هستش یعنی به توی SQLServer به صورت nvarchar نوشتینش
---------------------------------------------------------------------------------------------------------------------------------------------------



public class test {
public static void main(String args[]) throws ClassNotFoundException, SQLException {

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection connect = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName = test","admin","test2");
PreparedStatement state = connect.prepareStatement("call SP_Name(?)");

state.setString(1, "TestName");


state.close();
connect.close();

}

}






وقتی میخواین از پارامتر ورودی int اسفاده کنید به جای setstring عبارت setInt استفاده کنین !