J'ai un code java qui utilise une procédure stockée pour ce qu'elle est:Utiliser le magasin une vue en procédure stockée
ALTER PROCEDURE [dbo].[Search_Rent]
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
select * from SearchRent
END
et SearchRent
est une vue en sql server
SELECT dbo.Tbl_Software.ID AS SotwareID, dbo.Tbl_Software.UserID_Rent, dbo.Tbl_Software.Name AS SoftwareName, dbo.Tbl_User.Family,
dbo.Tbl_User.Name AS UserName, dbo.Tbl_User.Tel, dbo.Tbl_Software.DataStart, dbo.Tbl_Software.DataFinish, dbo.Tbl_Software.ID_Category
FROM dbo.Tbl_Software INNER JOIN
dbo.Tbl_User ON dbo.Tbl_Software.UserID_Rent = dbo.Tbl_User.ID
et mon code java est:
public class frmRented extends javax.swing.JFrame {
/** Creates new form frmRented */
public frmRented() {
initComponents();
MyTools.SetCenterLocation(this);
DataAccess da = new DataAccess();
try {
da.Connect();
//da.rs = da.st.executeQuery("select * from SearchRent");
//da.rs = da.st.executeQuery("{call Search_Rent()}");
CallableStatement cal = da.con.prepareCall("{call Search_Rent()}",ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
da.rs = cal.executeQuery();
da.rs.last();
int rc = da.rs.getRow();
da.rs.beforeFirst();
int cc = 9;
String[] header = {"id", "idc", "name", "preamble", "k ", "s", "d", "a","e"};
String[][] data = new String[rc][cc];
int i = 0;
while (da.rs.next()) {
data[i][0] = da.rs.getString("Tbl_Software.ID");
data[i][1] = da.rs.getString("Tbl_Software.ID_Category");
data[i][2] = da.rs.getString("Tbl_Software.Name");
data[i][3] = da.rs.getString("Tbl_Software.UserID_Rent");
data[i][4] = da.rs.getString("Tbl_User.Name");
data[i][5] = da.rs.getString("Tbl_User.Family");
data[i][6] = da.rs.getString("Tbl_User.Tel");
data[i][7] = da.rs.getString("Tbl_Software.DataStart");
data[i][8] = da.rs.getString("Tbl_Software.DataFinish");
i++;
}
jTable1 = new JTable(data, header);
jScrollPane1.setViewportView(jTable1);
cal.close();
da.Disconnect();
} catch (Exception e) {
System.out.println(e);
}
}
mais quand j'exécute ce code je cette erreur:
com.microsoft.sqlserver.jdbc.SQLServerException: The column name Tbl_Sofware.ID is not valid.
Comment puis-je résoudre cette erreur?
Pouvez-vous nous donner la trace de la pile, ou nous dire quelle ligne jette l'erreur? Je suppose que c'est l'appel à beforeFirst, mais plus d'informations seraient bonnes. –
Apprenez s'il vous plaît les conventions de nommage Java et respectez-les – kleopatra
Modifier 'ResultSet.CONCUR_READ_ONLY' à' ResultSet.CONCUR_UPDATABLE' –