Соединитель Visual Studio 2008 / NEt Ошибка> Не удалось добавить отношения> Неожиданная ошибка - PullRequest
0 голосов
/ 19 августа 2011

Я использую базу данных для веб-сайта и локальную программу на C # (Visual Studio 2008).Я скачал коннектор API / NET для базы данных MySQL.Я установил соединение (Соединение установлено), но когда я установил, какие данные я должен принимать, я беру только таблицы.Но когда я нажал OK, появляется сообщение об ошибке> Failed to add relations > Unexpected error.

На моем веб-сайте я использую эту базу данных, и она работает очень хорошо.Я использую отношения innoDB (для сайта).в файле .xsd (локальная программа) Между двумя таблицами есть только одна ссылка.Другие созданы, но не связаны друг с другом.

Как я могу установить соединение базы данных mysql с локальной программой visual studio (C #)

Спасибо, что помогли мне.

PS.Вот моя база данных mysql

-- phpMyAdmin SQL Dump
-- version 3.3.9
-- http://www.phpmyadmin.net
--
-- Serveur: localhost
-- Généré le : Mer 17 Août 2011 à 22:48
-- Version du serveur: 5.5.8
-- Version de PHP: 5.3.5

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Base de données: `test`
--

-- --------------------------------------------------------

--
-- Structure de la table `adresse`
--

CREATE TABLE IF NOT EXISTS `adresse` (
  `idAdresse` int(100) NOT NULL,
  `numRue` int(5) NOT NULL,
  `rue` varchar(30) NOT NULL,
  `ville` varchar(15) NOT NULL,
  `postal` varchar(6) NOT NULL,
  PRIMARY KEY (`idAdresse`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Contenu de la table `adresse`
--

INSERT INTO `adresse` (`idAdresse`, `numRue`, `rue`, `ville`, `postal`) VALUES
(1, 4256, 'de la Vallee', 'Laval', 'H8A1J7'),
(2, 121, 'du Coin', 'Laval', 'N6A1B8'),
(4, 5, 'rue du Ranch', 'Laval', 'D1C0V8');

-- --------------------------------------------------------

--
-- Structure de la table `listepatient`
--

CREATE TABLE IF NOT EXISTS `listepatient` (
  `idListeP` int(5) NOT NULL,
  `idPatient` int(10) NOT NULL,
  PRIMARY KEY (`idPatient`,`idListeP`),
  KEY `idListeP` (`idListeP`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Contenu de la table `listepatient`
--

INSERT INTO `listepatient` (`idListeP`, `idPatient`) VALUES
(1, 1),
(1, 2);

-- --------------------------------------------------------

--
-- Structure de la table `materiel`
--

CREATE TABLE IF NOT EXISTS `materiel` (
  `idMateriel` int(100) NOT NULL AUTO_INCREMENT,
  `type` varchar(30) NOT NULL,
  `bidon` int(99) NOT NULL,
  `idProduit` int(100) NOT NULL,
  PRIMARY KEY (`idMateriel`),
  KEY `idProduit` (`idProduit`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

--
-- Contenu de la table `materiel`
--

INSERT INTO `materiel` (`idMateriel`, `type`, `bidon`, `idProduit`) VALUES
(1, '', 40, 2),
(2, '', 75, 5);

-- --------------------------------------------------------

--
-- Structure de la table `medicament`
--

CREATE TABLE IF NOT EXISTS `medicament` (
  `idMedic` int(100) NOT NULL AUTO_INCREMENT,
  `marque` varchar(10) NOT NULL,
  `typeMed` varchar(10) NOT NULL,
  `idProduit` int(100) NOT NULL,
  PRIMARY KEY (`idMedic`),
  KEY `idProduit` (`idProduit`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

--
-- Contenu de la table `medicament`
--

INSERT INTO `medicament` (`idMedic`, `marque`, `typeMed`, `idProduit`) VALUES
(1, 'Tylenol', 'gelule', 1),
(2, 'Glaxal', 'Ongant', 3),
(3, 'Benylin', 'Sirop', 4);

-- --------------------------------------------------------

--
-- Structure de la table `panier`
--

CREATE TABLE IF NOT EXISTS `panier` (
  `idPanier` int(5) NOT NULL,
  `idProduit` int(100) NOT NULL,
  `qte` int(11) NOT NULL,
  PRIMARY KEY (`idPanier`,`idProduit`),
  KEY `idProduit` (`idProduit`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Contenu de la table `panier`
--


-- --------------------------------------------------------

--
-- Structure de la table `patient`
--

CREATE TABLE IF NOT EXISTS `patient` (
  `idPatient` int(10) NOT NULL AUTO_INCREMENT,
  `sexe` char(1) NOT NULL,
  `anniv` date DEFAULT NULL,
  `assurance` int(3) NOT NULL,
  `numDossier` varchar(30) NOT NULL,
  `idPersonne` int(100) DEFAULT NULL,
  PRIMARY KEY (`idPatient`),
  KEY `idPersonne` (`idPersonne`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

--
-- Contenu de la table `patient`
--

INSERT INTO `patient` (`idPatient`, `sexe`, `anniv`, `assurance`, `numDossier`, `idPersonne`) VALUES
(1, 'M', '1945-08-17', 40, 'GG450817', 2),
(2, 'M', '1993-01-20', 0, '', 3),
(3, 'M', '1987-03-26', 30, '', 4);

-- --------------------------------------------------------

--
-- Structure de la table `personne`
--

CREATE TABLE IF NOT EXISTS `personne` (
  `idPersonne` int(100) NOT NULL AUTO_INCREMENT,
  `nom` varchar(15) NOT NULL,
  `prenom` varchar(15) NOT NULL,
  PRIMARY KEY (`idPersonne`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

--
-- Contenu de la table `personne`
--

INSERT INTO `personne` (`idPersonne`, `nom`, `prenom`) VALUES
(1, 'Levesque', 'Jacques'),
(2, 'Gougeon', 'Gaston'),
(3, 'Kostopoulios', 'Andrew'),
(4, 'Lamarche', 'Eric');

-- --------------------------------------------------------

--
-- Structure de la table `produit`
--

CREATE TABLE IF NOT EXISTS `produit` (
  `idProduit` int(100) NOT NULL AUTO_INCREMENT,
  `nom` varchar(50) NOT NULL,
  `descr` varchar(255) NOT NULL,
  `prix` decimal(5,2) NOT NULL,
  `qte` int(100) NOT NULL,
  PRIMARY KEY (`idProduit`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;

--
-- Contenu de la table `produit`
--

INSERT INTO `produit` (`idProduit`, `nom`, `descr`, `prix`, `qte`) VALUES
(1, 'Tylenol Extra-Fort', 'Medicament soulageant les maux quotidiens', '15.99', 107),
(2, 'Bequille Jumbo', 'Support pouvant supporter jusqu''a 350 lbs', '75.99', 10),
(3, 'Cortico-Steroide', 'Ongant faisant disparaitre les rougeurs de la peau', '20.99', 60),
(4, 'Sirop Benylin', 'Sirop pour contrer les allergies saisonnieres', '17.99', 29),
(5, 'Ceinture Lombaire', 'Ceinture supportant le dos du au douleur de cette region', '79.99', 5);

-- --------------------------------------------------------

--
-- Structure de la table `specialiste`
--

CREATE TABLE IF NOT EXISTS `specialiste` (
  `login` varchar(10) NOT NULL,
  `password` varchar(10) NOT NULL,
  `profession` varchar(20) NOT NULL,
  `idListeP` int(5) DEFAULT NULL,
  `idPanier` int(5) DEFAULT NULL,
  `idPersonne` int(100) DEFAULT NULL,
  PRIMARY KEY (`login`),
  KEY `idListeP` (`idListeP`),
  KEY `idPanier` (`idPanier`),
  KEY `idPersonne` (`idPersonne`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Contenu de la table `specialiste`
--

INSERT INTO `specialiste` (`login`, `password`, `profession`, `idListeP`, `idPanier`, `idPersonne`) VALUES
('j.levesque', 'hulk', 'Medecin Generaliste', 1, 1, 1);

-- --------------------------------------------------------

--
-- Structure de la table `telephone`
--

CREATE TABLE IF NOT EXISTS `telephone` (
  `idTel` int(100) NOT NULL AUTO_INCREMENT,
  `typeTel` varchar(15) NOT NULL,
  `ind` int(3) NOT NULL,
  `quartier` int(3) NOT NULL,
  `num` int(4) NOT NULL,
  PRIMARY KEY (`idTel`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;

--
-- Contenu de la table `telephone`
--

INSERT INTO `telephone` (`idTel`, `typeTel`, `ind`, `quartier`, `num`) VALUES
(1, 'cellulaire', 450, 315, 3105),
(2, 'maison', 450, 214, 6462),
(4, 'maison', 450, 679, 1087),
(5, 'maison', 301, 139, 4285);

-- --------------------------------------------------------

--
-- Structure de la table `telpers`
--

CREATE TABLE IF NOT EXISTS `telpers` (
  `idPersonne` int(100) NOT NULL,
  `idTel` int(100) NOT NULL,
  KEY `idPersonne` (`idPersonne`),
  KEY `idTel` (`idTel`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Contenu de la table `telpers`
--

INSERT INTO `telpers` (`idPersonne`, `idTel`) VALUES
(1, 1),
(2, 2),
(4, 4),
(1, 5);

--
-- Contraintes pour les tables exportées
--

--
-- Contraintes pour la table `adresse`
--
ALTER TABLE `adresse`
  ADD CONSTRAINT `adresse_ibfk_1` FOREIGN KEY (`idAdresse`) REFERENCES `personne` (`idPersonne`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Contraintes pour la table `listepatient`
--
ALTER TABLE `listepatient`
  ADD CONSTRAINT `listepatient_ibfk_1` FOREIGN KEY (`idListeP`) REFERENCES `specialiste` (`idListeP`),
  ADD CONSTRAINT `listepatient_ibfk_2` FOREIGN KEY (`idPatient`) REFERENCES `patient` (`idPatient`);

--
-- Contraintes pour la table `materiel`
--
ALTER TABLE `materiel`
  ADD CONSTRAINT `materiel_ibfk_1` FOREIGN KEY (`idProduit`) REFERENCES `produit` (`idProduit`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Contraintes pour la table `medicament`
--
ALTER TABLE `medicament`
  ADD CONSTRAINT `medicament_ibfk_1` FOREIGN KEY (`idProduit`) REFERENCES `produit` (`idProduit`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Contraintes pour la table `panier`
--
ALTER TABLE `panier`
  ADD CONSTRAINT `panier_ibfk_1` FOREIGN KEY (`idPanier`) REFERENCES `specialiste` (`idPanier`),
  ADD CONSTRAINT `panier_ibfk_2` FOREIGN KEY (`idProduit`) REFERENCES `produit` (`idProduit`);

--
-- Contraintes pour la table `patient`
--
ALTER TABLE `patient`
  ADD CONSTRAINT `patient_ibfk_1` FOREIGN KEY (`idPersonne`) REFERENCES `personne` (`idPersonne`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Contraintes pour la table `specialiste`
--
ALTER TABLE `specialiste`
  ADD CONSTRAINT `specialiste_ibfk_1` FOREIGN KEY (`idPersonne`) REFERENCES `personne` (`idPersonne`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Contraintes pour la table `telpers`
--
ALTER TABLE `telpers`
  ADD CONSTRAINT `telpers_ibfk_1` FOREIGN KEY (`idPersonne`) REFERENCES `personne` (`idPersonne`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `telpers_ibfk_2` FOREIGN KEY (`idTel`) REFERENCES `telephone` (`idTel`) ON DELETE CASCADE ON UPDATE CASCADE;

ЗДЕСЬ МОЙ КОД СОЕДИНЕНИЯ

Класс:

<?php
    Class Connexion{
        function open(){
            $con = mysql_connect("localhost","root","");
            if (!$con)
            {
                die('Could not connect: ' . mysql_error());
                return '';
            }
            else return $con;
        }//OPEN

        function close($con){  mysql_close($con);  }//CLOSE
    }//Connexion
?>

Связь:

<?php 
    require('manip/connexionClass.php');
    $conn = new Connexion();
    $con = $conn->open();
    if($con){
                    mysql_select_db("test",$con);
        $query = "SELECT SUM(`panier`.`qte`) 
                        FROM `panier`
                        WHERE `panier`.`idPanier` = (
                            SELECT `idPanier`
                            FROM `specialiste`
                            WHERE `login` = '".$_SESSION["login"]."'
                        )";

        $result = mysql_query($query);
        if(!$result || mysql_num_rows($result)==0){ $nb = 0;    }
        else{
            while($row = mysql_fetch_array($result)){
                $_SESSION["nbArticle"] = $row["SUM(`panier`.`qte`)"];
            }
            $nb = $_SESSION["nbArticle"];
        }
    $conn->close($con);  //CLOSE CONNECTION
    }
?>

1 Ответ

0 голосов
/ 19 августа 2011

Можете ли вы показать нам код, где вы подключаетесь к базе данных на веб-сайте?Сама база данных может быть не проблемой, но как вы создаете отношения и как вы пытаетесь получить доступ к данным в коде.

...