我正在使用visual studio 2010
frmMain有一个"注册"按钮,调用另一种形式newReg
这是frmMain调用第二种形式的按钮的代码.问题是MessageBox("So Far So Good")永远不会被调用.在dialogResult似乎没有得到认可.
private void btnRegisterNew_Click(object sender, EventArgs e)
{
// newReg Constructor Call
newReg = new frmRegisterNew();
// show form
newReg.Show();
if (newReg.DialogResult.Equals(DialogResult.OK))
{
MessageBox.Show ("So Far So Good");
}
}
Run Code Online (Sandbox Code Playgroud)
第二种形式有一些要填写的字段和一个按钮"注册".我已经dialogResult在属性窗口中将此按钮设置为"ok",我认为也在代码中.单击第二种形式的"注册"按钮时,它会检查输入,尝试更新数据库并在成功时关闭.这是一段代码:
dbConnection db = new dbConnection();
db.dbConnect();
if (db.dbRegisterVehicle(txtNewReg.Text, txtNewMake.Text, txtNewModel.Text, txtNewColour.Text, OwnerID))
{
// if insert worked close
this.DialogResult = DialogResult.OK;
this.Close();
}
db.dbDisconnect();
Run Code Online (Sandbox Code Playgroud)
我确定要尝试什么,或者我可能会看到什么.
我正在尝试测试 Spring 控制器方法 - 该方法位于帖子的末尾以及下面的测试类。我已经将其剥离了一些,以尝试缩小问题范围。
当我按原样运行测试时,它失败了:
java.lang.AssertionError: Status
Expected :200
Actual :404
Run Code Online (Sandbox Code Playgroud)
如果我按如下方式编辑mockMvc.perform,则测试通过,我什至不必将控制器中的@PathVariables更改为长整型:
mockMvc.perform(get(ApplicationEndPoints.GET_CCS_NAME_AND_ADDRESS_AJAX, 1L, 2L))
.andExpect(status().isOk());
Run Code Online (Sandbox Code Playgroud)
控制器方法本身工作正常并按预期返回 JSON。我可以只使用这些 Long 值并期望测试正常,或者如何让它与字符串一起使用?
我应该补充一点,我是一个完全的测试菜鸟。谢谢!
控制器方法:
@PreAuthorize("hasAuthority('auditor')")
@RequestMapping(value = ApplicationEndPoints.GET_APPLICANT_DATA, method = RequestMethod.GET)
@ResponseBody
public ApplicantData getNameAndAddress(@PathVariable("businessId") String businessId, @PathVariable("date") String date) {
//Date d = Date.valueOf(date);
ApplicantParams params = new ApplicantParams();
//params.setBusinessId(businessId);
//params.setApplicationReceivedDate(d);
params.setRoleId(ADDRESS_ROLE.HR.getRoleId());
return applicantService.getApplicantData(params);
}
Run Code Online (Sandbox Code Playgroud)
测试类:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {ApplicationTestConfig.class})
@WebAppConfiguration
public class ClientDetailAjaxControllerTest {
@InjectMocks
private ClientDetailAjaxController clientDetailAjaxController;
private MockMvc mockMvc;
private ApplicantServiceInterface<Applicant> applicantService = Mockito.mock(ApplicantServiceImpl.class, Mockito.RETURNS_DEEP_STUBS);
@Before
public …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用PDO和LOAD DATA INFILE将csv数据导入mysql(我也尝试过LOAD DATA LOCAL INFILE)但我一直遇到语法错误,我不明白为什么.文件路径和表名似乎是正确的.
这是我正在使用的import()函数 -
function import() {
$this->db = mydb::getConnection();
// set the column names for the selected journal table
if ($this->table = "bsp_journals") {
$columns = "category, discipline, subject, sourcetype, issn, publicationname, indabstart, indabstop, fulltextstart, fulltextstop, fulltextdelay, peerreviewed";
}
try {
$sql = "LOAD DATA LOCAL INFILE '$this->file'
INTO TABLE '$this->table'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\\n'
OPTIONALLY ENCLOSED BY '\"'
($columns)";
$statement = $this->db->prepare($sql);
$statement->execute();
$this->return = $this->files['filename']['tmp_name'];
} catch (PDOException $ex) …Run Code Online (Sandbox Code Playgroud) 我正在使用php在数据库上运行基本更新但我得到的SQL语法错误,我不能为我的生活看到什么是错的.db中的字段称为orders,它设置为int(8).我尝试将其更改为smallint和varchar,但是增加但没有快乐.我也试过在查询中修改'和'.代码如下......
$query = "UPDATE gigs SET order='$order' WHERE gig_id='$id'";
if ($r = mysql_query($query) ) {
echo "<p>UPDATED:" . $row['year'] ." - " . $row['month'] . " - " . $row['day'] . " = $order</p>";
} else {
echo "<p>" . mysql_error() . "<br />$q</p>";
}
Run Code Online (Sandbox Code Playgroud)
$ order是年月和日值合并为一个整数值,例如12 apr 2013 = 20130412.
这是我收到的错误消息
您的SQL语法有错误; 查看与您的MySQL服务器版本相对应的手册,以便在'order ='20040802附近使用正确的语法'第1行的WHERE gig_id = '10''UPDATE gigs SET order ='20040802'WHERGIG_id ='10'
您的SQL语法有错误; 查看与您的MySQL服务器版本对应的手册,以便在'order ='20040804附近使用正确的语法'第1行的WHERE gig_id = '11''UPDATE gigs SET order ='20040804'WHERGIG_id ='11'
mysql ×2
php ×2
c# ×1
csv ×1
dialogresult ×1
java ×1
mockito ×1
pdo ×1
spring ×1
unit-testing ×1