Ajouter un commentaire

timejava

:lol: j'ai arrivé à ouvrir la bdd ,donc j'ai passé au étape suivant;cest utiliser le sql server 2002,je vous éxplique la structure de mon programme et le souci que jai rencontré et bien sur merci d'avance.

une bdd avec deux tableaux :
SourceTest-->Article6
-->Fournisseaur
deux classes:
===================================
class Saisie
{
public String Saisirchaine() throws Exception
{
byte T[]=new byte[80];
System.in.read(T);
String ch=new String(T);
ch=ch.substring(0,ch.indexOf("\r\n"));
return ch;
}
public int SaisirEntier() throws Exception
{
String ch=Saisirchaine();
Integer v=new Integer(ch);
return v.intValue();

}

}
===================================
import java.sql.*;
public class TestJDBC1

{
Saisie S=new Saisie();
public TestJDBC1()
{}
public void Afficher()throws Exception
{

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection Cn=DriverManager.getConnection("jdbc:sqlserver://nomdeserveur ou machine;database=SourceTest6;user=sa;password=");

Statement S=Cn.createStatement();
ResultSet RS=S.executeQuery("Select num_article,nom_article,fornu_article From Article6,Fournisseur where Article6.num_fourni=Fournisseur.num_fourni");
while(RS.next())
{
System.out.println(" Le numero d article : " + RS.getInt(1));
System.out.println(" Le Nom d article : " + RS.getString(2));
System.out.println(" Le Fournisseur : " + RS.getString(3));
}
Cn.close();
}


public void Ajouter()throws Exception
{

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection Cn=DriverManager.getConnection("jdbc:sqlserver://nomdeserveur ou machine;database=SourceTest6;user=sa;password=");

System.out.println("Saisir un numero d article");
int num_article=S.SaisirEntier();
System.out.println("Saisir un nom d Article");
String nom_article=S.Saisirchaine();
System.out.println("Saisir un numero d Fournisseur");
int num_fourni=S.SaisirEntier();
Statement S=Cn.createStatement();
ResultSet rs=S.executeQuery("select num_article from Article6 where num_article="+num_article);
if(rs.next())
{
System.out.println("cet article existe déjà");
}
else
{

String req="insert into Article values("+ num_article +",'"+ nom_article +"'," + num_fourni + ")";
S.executeUpdate(req);

System.out.println("Ajout a ete effectuee");
Cn.close();
}

}

public void ModifierA()throws Exception
{

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection Cn=DriverManager.getConnection("jdbc:sqlserver://nomdeserveur ou machine;database=SourceTest6;user=sa;password=");
Statement Sr=Cn.createStatement();
System.out.println("Saisir un numero d article");
int num_article=S.SaisirEntier();

String reqRechercher="select * from Article where NumArt="+num_article;
ResultSet RS=Sr.executeQuery(reqRechercher);
boolean T=RS.next();
if(!T)
{System.out.println("cet article n existe pas");
}
else
{
System.out.println("Saisir le nouveau nom de article");
String nom_article=S.Saisirchaine();
System.out.println("Saisir le nouveau numero de Fournisseur");
int num_fourni=S.SaisirEntier();
String req="Update Article set NomArt='"+ nom_article +"',NumFou=" + num_fourni;
Sr.executeUpdate(req);


System.out.println("La modification a ete effectuee");
Cn.close();
}

}

public void Supprimer()throws Exception
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection Cn=DriverManager.getConnection("jdbc:sqlserver://nomdeserveur ou machine;database=SourceTest6;user=sa;password=");
Statement Sr=Cn.createStatement();
System.out.println("Saisir un numero d article");
int num_article=S.SaisirEntier();

String reqRechercher="select * from Article where NumArt="+num_article;
ResultSet RS=Sr.executeQuery(reqRechercher);
boolean T=RS.next();
if(!T)
{System.out.println("cet article n existe pas");
}
else
{

String req="delete from Article where NumArt=" +num_article;
Sr.executeUpdate(req);


System.out.println("La suppression a ete effectuee");
Cn.close();
}



}
public static void main(String args[])
throws Exception
{
TestJDBC1 A=new TestJDBC1();

int c;
do
{
System.out.println(" ******************Gestion Article******************");
System.out.println(" *________________________________________________ *");
System.out.println(" *| |*");
System.out.println(" *| 1. Afficher la liste des atrticles |*");
System.out.println(" *| 2. Ajouter un article |*");
System.out.println(" *| 3. Modifier un article |*");
System.out.println(" *| 4. Supprimer un article |*");
System.out.println(" *| 5. Quiter |*");
System.out.println(" *|_______________________________________________|*");
System.out.println(" * *");
System.out.println(" ***************************************************");

System.out.print("SVP saisir votre choix :");
Saisie S=new Saisie();
c=S.SaisirEntier();
if(c==1)
{
A.Afficher();
}
if(c==2)
{
A.Ajouter();
}
if(c==3)
{
A.ModifierA();
}
if(c==4)
{
A.Supprimer();
}


}
while(c!=5);
}

}

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

lorsque je lance l'execution j'ai le message suivant:
===============================
SVP saisir votre choix :1
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1938)
at Saisie.Saisirchaine(Saisie.java:8)
at Saisie.SaisirEntier(Saisie.java:13)
at TestJDBC1.main(TestJDBC1.java:141)

Process completed.

===============================
j''ai utlise JCreator et eclipse aussi

connecernat l'environnement je vous cache pas j'ai recherche mais j'ai arrivé pas à configurer le classpath en utilisant le jar de jdbc.
pour le jdbc j'ai télécharger plusieurs versant.
pour jdk j'utilise jdk1.6.

:( :( :( :( aidez moi svp j'ai epuisé tt mes efforts pour y arriver mais pas de chance.
merci de l'aide et bonnes fétes :) :)

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
 EEEE  DDD   K  K  W     W  L    
E D D K K W W L
EEE D D KK W W W L
E D D K K W W W L
EEEE DDD K K W W LLLL