【发布时间】:2011-03-22 17:08:43
【问题描述】:
我有几个问题:我真的被困在这里了。
好的,第一个问题是我的 jquery 绑定到我的按钮。该功能有效,但是当它绑定到我的asp控制按钮(Button1)时,由于某种原因我不能使用后面的代码来更新mysql。
<script type="text/javascript">
$(function () {
$('[name*= "Button2"]').click(function () {
var x = $('[name*= "TextBox1"]').val();
var newdiv = $("<div></div>").html(x).attr('id', 'test');
$('#test1').append(newdiv);
$('[name*= "Table1"]').text($('#test1').html());
$('[name*= "TextBox1"]').val('');
return false;
});
});
</script>
<p>
<asp:TextBox ID="TextBox1" name="TextBox1" runat="server" Rows="3"
Height="47px" Width="638px"></asp:TextBox>
</p>
<p>
<asp:Button ID="Button1" runat="server" Text="Post Message" Width="98px"
onclick="Button1_Click" />
<asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="Button" />
</p>
<p>
<asp:Table ID="Table1" name="Table1" runat="server" Width="488px"></asp:Table>
</p>
<div id="test1"></div>
</asp:Content>
我尝试通过取出 return false; 来解决这个问题,因为它确实保存到数据库中,因为用户 ID 在那里,但 Wallpostings 有一个空字段。这是由于当我单击我的 asp 按钮时页面重新加载,而这又是由于 java/jquery.如果我一直返回 false,我的 sql 将一无所获。
{
string theUserId = Session["UserID"].ToString();
OdbcConnection cn = new OdbcConnection("Driver={MySQL ODBC 3.51 Driver}; Server=localhost; Database=gymwebsite; User=root; Password=commando;");
cn.Open();
OdbcCommand cmd = new OdbcCommand("INSERT INTO WallPosting (UserID, Wallpostings) VALUES ("+theUserId+", '" + TextBox1.Text + "')", cn);
cmd.ExecuteNonQuery();
}
}
使用此代码我可以插入到我的数据库中,但是当我尝试再次插入时,如果我想在墙上的帖子上添加另一条评论,我收到一个错误:键 'PRIMARY' 的重复条目 '1' 所以我想我需要使用更新,但我不知道如何更新 mysql 或 sql 语法?它还说,当我创建架构时,更新时没有任何操作(不确定这是否是同一件事)请参阅下面的脚本)
如果没有任何东西开始,更新是否也与插入做同样的事情?如果我更新我如何按顺序添加数据(不确定那是正确的词),即如果我的 Wallpostings 中已经有苹果并且我在我的文本框中更新了一些新的东西,比如橘子,我如何让它像这样布局:
(Wallposting Table)
| UserID | Wallpostings |
....1........Oranges
.............Apples
忽略点(仅用于间距)
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';
CREATE SCHEMA IF NOT EXISTS `gymwebsite` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
USE `gymwebsite` ;
-- -----------------------------------------------------
-- Table `gymwebsite`.`User`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `gymwebsite`.`User` (
`UserID` INT NOT NULL AUTO_INCREMENT ,
`Email` VARCHAR(245) NULL ,
`FirstName` VARCHAR(45) NULL ,
`SecondName` VARCHAR(45) NULL ,
`DOB` VARCHAR(15) NULL ,
`Location` VARCHAR(45) NULL ,
`Aboutme` VARCHAR(245) NULL ,
`username` VARCHAR(45) NULL ,
`password` VARCHAR(45) NULL ,
PRIMARY KEY (`UserID`) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `gymwebsite`.`Pictures`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `gymwebsite`.`Pictures` (
`UserID` INT NOT NULL ,
`picturepath` VARCHAR(245) NULL ,
PRIMARY KEY (`UserID`) ,
INDEX `fk_Pictures_Userinfo1` (`UserID` ASC) ,
CONSTRAINT `fk_Pictures_Userinfo1`
FOREIGN KEY (`UserID` )
REFERENCES `gymwebsite`.`User` (`UserID` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `gymwebsite`.`WallPosting`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `gymwebsite`.`WallPosting` (
`UserID` INT NOT NULL AUTO_INCREMENT ,
`Wallpostings` VARCHAR(2500) NULL ,
INDEX `fk_WallPostings_Userinfo1` (`UserID` ASC) ,
PRIMARY KEY (`UserID`) ,
CONSTRAINT `fk_WallPostings_Userinfo1`
FOREIGN KEY (`UserID` )
REFERENCES `gymwebsite`.`User` (`UserID` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `gymwebsite`.`DietPlan`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `gymwebsite`.`DietPlan` (
`UserID` INT NOT NULL ,
PRIMARY KEY (`UserID`) ,
INDEX `fk_DietPlan_Userinfo1` (`UserID` ASC) ,
CONSTRAINT `fk_DietPlan_Userinfo1`
FOREIGN KEY (`UserID` )
REFERENCES `gymwebsite`.`User` (`UserID` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `gymwebsite`.`WorkoutPlan`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `gymwebsite`.`WorkoutPlan` (
`UserID` INT NOT NULL ,
PRIMARY KEY (`UserID`) ,
INDEX `fk_WorkoutPlan_Userinfo1` (`UserID` ASC) ,
CONSTRAINT `fk_WorkoutPlan_Userinfo1`
FOREIGN KEY (`UserID` )
REFERENCES `gymwebsite`.`User` (`UserID` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `gymwebsite`.`Friends`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `gymwebsite`.`Friends` (
`idFriends` INT NOT NULL AUTO_INCREMENT ,
`UserID` INT NOT NULL ,
PRIMARY KEY (`idFriends`, `UserID`) ,
INDEX `fk_Friends_Userinfo1` (`UserID` ASC) ,
CONSTRAINT `fk_Friends_Userinfo1`
FOREIGN KEY (`UserID` )
REFERENCES `gymwebsite`.`User` (`UserID` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
我可能想做的是更新但同时插入?如果那有意义的话?
【问题讨论】:
标签: c# jquery asp.net mysql sql